我希望在我的Oracle数据库中,该列应该是VARCHAR2。
美国邮编共有9位数字。
加拿大邮编共有7位字符。
我认为32个字符是一个合理的上限。
我缺少什么信息吗?
[编辑] 今天我学到了:12是这个问题的一个合理答案。 感谢所有做出贡献的人。
我希望在我的Oracle数据库中,该列应该是VARCHAR2。
美国邮编共有9位数字。
加拿大邮编共有7位字符。
我认为32个字符是一个合理的上限。
我缺少什么信息吗?
[编辑] 今天我学到了:12是这个问题的一个合理答案。 感谢所有做出贡献的人。
浏览维基百科的邮政编码页面,32个字符应该是足够的。我认为16个字符也很好。
如@neil-mcguigan所提到的,维基百科有一篇关于这个主题的不错页面。根据该页面,12个字符就足够了:http://en.wikipedia.org/wiki/List_of_postal_codes
这篇维基百科文章列出了大约254个国家,这相当不错,因为UPU(万国邮政联盟)只有192个成员国。
标准化?邮政编码可能会被多次使用,并且可能与街道名称或城镇名称相关。需要单独的表格。
加拿大邮政编码只有6个字符,由字母和数字(LNLNLN)组成。
英国已经发布了标准:英国政府数据标准目录
Max 35 characters per line
国际邮寄地址:
Minimum of 2 lines and maximum of 5 lines for the postal delivery point
details, plus 1 line for country and 1 line for postcode/zip code
英国邮政编码长度为:
Minimum 6 and Maximum 8 characters
如果您想在数据库中集成邮政编码,则最好使用geonames数据库。尽管它很难使用和理解,但它是免费提供给像我们这样的用户的最大地理数据库。
所有其他类似的数据库或多或少都有相同的数据和结构。他们只是从数据库中删除一些额外/冗余信息。如果您只是为低负载系统使用它们的免费服务,则限制非常有吸引力,并提供更易于使用的json和ajax接口。您可以在此处查看限制here
对于您的信息,varchar(20)足以存储邮政编码