我应该在SQL varchar(length)
电话中考虑的最长的全球电话号码是什么。
注意事项:
- +国家代码
- ()用于区号
- x + 6个数字作为扩展名扩展名(因此请使其为8 {space})
- 组之间的空格(即,在美国电话中+ x xxx xxx xxxx = 3个空格)
- 这是我需要您帮助的地方,我希望它能遍布全球
考虑到在我现在的特殊情况下,我不需要卡等。号码以国家代码开头,以分机号结尾,不需要传真/电话等注释,也不需要电话卡东西。
我应该在SQL varchar(length)
电话中考虑的最长的全球电话号码是什么。
注意事项:
考虑到在我现在的特殊情况下,我不需要卡等。号码以国家代码开头,以分机号结尾,不需要传真/电话等注释,也不需要电话卡东西。
Answers:
考虑到varchar(30)和varchar(100)之间没有开销差异,如果每个字符仅存储20个字符,请谨慎行事,将其设置为50个字符。
假设您不存储'+','(()','-',空格和您拥有的东西(以及您为什么要存储这些东西),它们是表示形式的关注点,会因当地习俗和网络分布而异无论如何),针对国际电话网络(大多数国家网络通过其连接)的ITU-T建议E.164规定了完整的号码(包括国家代码,但不包括诸如拨出所需的国际呼叫前缀之类的前缀,视国家/地区而异,且不包括后缀,例如PBX分机号)最多15个字符。
呼叫前缀取决于呼叫者,而不取决于被呼叫者,因此(在许多情况下)不应与电话号码一起存储。如果数据库存储的是个人通讯录的数据(在这种情况下,应存储国际电话前缀),则您必须处理的最长国际前缀(根据Wikipedia在芬兰,)为5位数字。
至于后缀,某些PBX最多支持11位分机号(同样, 根据Wikipedia)。由于PBX分机号是不同拨号计划的一部分(PBX与电话公司的交换机分开),所以分机号必须与电话号区分开,可以使用分隔符或将其存储在不同的列中。
15
字符。如果存储前缀和后缀,则底线是:5 + 15 + 11 = 31
。
更糟糕的是,我使用电话卡拨打国际电话,因此它在美国的本地号码+帐号(6位数字)+密码(4位数字)+“暂停” +您上面所述的内容。
我怀疑可能还有其他情况