本文介绍了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

  • 等等...

  • 555 555 1212
  • 555-555-1212
  • (555) 555 1212
  • 5555551212
  • 1-555-555-1212
  • 1 (555) 555-1212
  • and so on ...

我应该删除格式化和仅存储数字吗?我应该使用一个字段 - 或者将它们分成几个:国家代码,区号,电话号码等?建议?

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(它们不是数字,而是数字集合)

  • 国家/地区+号码单独

  • 不是所有的国家都有区号(例如我在哪里的马耳他)

  • 某些国家在拨打内部(例如英国)时,从区号中删除前导零。

  • 客户端代码中的格式

    • All as varchar (they aren't numbers but "collections of digits")
    • Country + area + number separately
    • Not all countries have area code (eg Malta where I am)
    • Some countries drop the leading zero from the area code when dialling internal (eg UK)
    • Format in the client code
    • 这篇关于MySQL - 如何存储电话号码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 05:09