本文介绍了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 - 如何存储电话号码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!