如何在 MySQL 数据库中存储电话号码?

2021-12-26 00:00:00 string int formatting mysql database-design

可能的重复:
电话号码和地址的mysql数据类型

关于将电话号码存储在数据库中的最佳做法有什么建议吗?考虑一个美国电话号码:

Any suggestions on best practice to store telephone numbers in a DB? Consider a US phone number:

  • 555 555 1212
  • 555-555-1212
  • (555) 555 1212
  • 5555551212
  • 1-555-555-1212
  • 1 (555) 555-1212
  • 等等......

我应该删除格式并只存储数字吗?我应该只使用一个字段 - 还是将它们拆分为:国家/地区代码、区号、电话号码等?建议?

Should I remove formatting and store only numbers? Should I just use one field -- or split them up into: country code, area code, phone number, etc.? Suggestions?

推荐答案

  • 全部为 varchar(它们不是数字,而是数字集合")
  • 国家+地区+数量分开
  • 并非所有国家/地区都有区号(例如我所在的马耳他)
  • 某些国家/地区在拨打内部电话时会去掉区号的前导零(例如英国)
  • 客户端代码中的格式

相关文章