[英]Why not store a phone number as 5 columns: country code, area code, prefix, line number and extension?
我正在使用最初以破折号(123-456-7890)作为varchar2(12)字节存储在oracle数据库中的数据。 最初没有完成验证,人们存储了各种不良数据。 将来,我认为将电话号码的每个部分存储在单独的列中可能是一个好主意。 这对性能不利吗?
===您的桌子===
如果将数据存储在5个单独的列中,那么当用户输入123-456-7890时,它将像这样
HOME_PHONE_CON | HOME_PHONE_AREA | HOME_PHONE_PREF | HOME_PHONE_LINE | HOME_PHONE_EXT
null | 123 | 456 | 7890 | null
(我不在美国,因此对格式错误表示歉意)
那么某人必须使用该号码搜索客户/用户,他们将输入“ 123-456-7890”或“ 1234567890”
你不得不
简而言之-为12个长度的文本列编制索引要快得多 (以防您无法做任何事情来验证用户输入)
只需将破折号替换为replace()命令就可以了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.