Sam*_*Axe 10
这被标记为数据建模..所以我将解决这个问题.
无论国家/地区,电话号码都应始终存储为字符串而不进行格式化(eg. "9083429876").
我看到人们试图将这些存储为带格式的字符串..这通常会导致灾难.在某个地方,有人会希望这些数字格式不同.然后你不仅要为它们写一个格式化函数,还要写一个非格式化函数.Yowsa.
我也看到人们试图将它们存储为INT64(或BIGINT).好吧,很好,但为什么呢?没有人在显示未格式化的电话号码..并且要格式化它你必须把它变成一个字符串.有些人试图争论它是为了分类目的,但也不会飞.对电话号码进行排序绝对不是一项有用的操作.根据区号过滤数字很有用 - 但是按数字排序顺序返回所有数字?永远没用
我看到的第三个不好的人是将数字的每个组成部分存储在不同的字段中的人.再次,不好.那一刻你开始在那里戳国际数字那些领域变得毫无意义.例如:你认为塞内加尔使用区号吗?
因此,作为一个离别的想法,我告诉你:由于每个国家都有自己的一组数字(符号真的) - 应该考虑和关心一个人如何格式化它们以供展示.