有没有一种可以容纳所有号码的电话号码格式?(比3个数字的区号和7个数字的区号更灵活)
发布于 2009-05-20 11:15:20
这被标记为数据建模。因此,我将解决这方面的问题。
无论是哪个国家/地区的电话号码,都应始终存储为不带格式的字符串(eg. "9083429876"
)。
我看到人们试图将这些内容存储为带有格式的字符串。这通常会导致灾难。在某些地方,有人会希望这些数字的格式有所不同。然后,您不仅要为它们编写格式化函数,而且还要为它们编写非格式化函数。Yowsa。
我也看到人们试图将它们存储为INT64 (或BIGINT)。好吧,好吧,但是为什么呢?没有人会显示未格式化的电话号码。要格式化它,您必须将其转换为字符串。有些人试图争辩说它是为了排序的目的,但这也是行不通的。对电话号码进行排序从来都不是一个有用的操作。根据区号过滤数字是很有用的--但是按数字排序的顺序返回所有数字呢?从来没有用过。
我看到的第三个糟糕的做法是人们将数字的每个组成部分存储在单独的字段中。再说一次,不是很好。一旦你开始在那里输入国际号码,这些字段就变得毫无意义了。举个例子:你认为塞内加尔使用区号吗?
因此,作为临别思考,我给你留下这个:因为每个国家都有自己的一组数字(实际上是符号)-思考和关注如何格式化它们以便显示。
发布于 2009-05-20 10:53:59
发布于 2009-05-20 10:56:10
https://stackoverflow.com/questions/889592
复制相似问题