乍一看,我认为在数据库表中存储邮政编码有两个基本选择:
char(5)或varchar(9)支持+4扩展如果我们假设没有国际问题,两者都将满足数据的要求.在过去,我们通常只是走了文本路线,但我想知道是否有人做相反的事情?只是简单的比较看起来整数方法有两个明显的优点:
而且,它似乎不会对显示输出造成太大影响.打一个ToString()数值,使用简单的字符串操作来插入连字符或空格或其他任何+4扩展名都是微不足道的,并使用字符串格式来恢复前导零.
是否有什么可以阻止使用int仅限美国邮政编码的数据类型?
在我工作的最后3家公司中,电话号码列的类型为varchar(n).原因是他们可能想要存储扩展(分机333).但在每种情况下,插入和更新时都会删除" - "字符.我不明白为什么".ext"字符可以存储而不是" - "字符.有没有其他人看过这个,你能用这种方式做什么解释?如果你要存储的只是数字,那么你最好不要使用int字段吗?相反,如果您想将数字存储为字符串/ varchar,那么为什么不保留所有字符而不打扰显示格式和写入时清除?
我也有兴趣了解其他地方实施电话号码存储的其他方式.