用于存储 MSISDN(电话号码)的最佳数据类型是什么。
需要能够存储世界上任何电话号码。
有谁知道最大可能的 MSISDN 长度,包括国际拨号代码?
例如,南非的电话号码是 +27xxxxxxxxx,这会产生 11 位数字,不包括 +
+ 不必存储。
提前致谢
用于存储 MSISDN(电话号码)的最佳数据类型是什么。
需要能够存储世界上任何电话号码。
有谁知道最大可能的 MSISDN 长度,包括国际拨号代码?
例如,南非的电话号码是 +27xxxxxxxxx,这会产生 11 位数字,不包括 +
+ 不必存储。
提前致谢
我会使用 BIGINT。请不惜一切代价避免使用 varchar。使用 varchar 或 char 是一个非常糟糕的主意。
原因。Varchar/char 占用更多空间,查找和交叉引用更慢,索引也更大。
在设计表格时,尽量让它们保持设定的行长,事情会运行得更快。如果您必须有一些文本字段,通常最好使用 char 而不是 varchar,因为 varchar 的开销成本很高。
我在电信行业工作了 12 年,现在设计/优化 VoIP/SMS 平台。当我来修复系统时,头号杀手是无处不在的 varchars。
只是我的 0.02 价值。
MSISDN 限制为 15 位数字,不包括前缀。
GSM 变体中的 MSISDN 构建为:
MSISDN = CC + NDC (or NPA ) + SN
CC = Country Code
NDC = National Destination Code
NPA = Number Planning Area
SN = Subscriber Number
理想情况下,您不必保存 +。它只是代表一个出口。
只有在使用 Thuraya 拨打电话时才会使用最长的国际拨号代码,即 882 16。您可以将其保存在其他地方。
如果您计划将国际拨号代码和 MSISDN 结合使用,您可以使用 nvarchar(21) 或 varchar(21)。