我对SQL非常陌生(就像我在我的工作中痛苦地教自己“数据库管理”几周一样......)而且我有点蠢。我有一个包含邮政编码列的表格,但导入到此数据库的数据不正确,我们有大量的邮政编码,四位数与五位数(前导0被省略)。
我设法得到一个脚本工作,用一个正确的五位邮政编码取代已知的四位数邮政编码,但问题是我们有几十万个条目,我无法通过它们实际翻阅所有找到每个带有四位数的条目并加上零。
我已经复制了数据库并且已经破坏了几次尝试使一些语法工作,但实际上我正在寻找一个快速修复,只需在任何四位数邮政编码中添加0,同时保留任何五位数的邮政编码单独
有没有办法可以简单地让一个SQL脚本使用通配符来表示四位数是什么,并在开始时加零?我在这个地方乱了45分钟(http://www.w3schools.com/sql/sql_wildcards.asp),试图让事情无济于事。
非常感谢任何能够提供帮助的人。
相关信息:
最佳, 史蒂夫
答案 0 :(得分:2)
假设没有拉链超过5个字符,您可以这样做:
update tbl_Address
set ReceiverPostalCode = right(concat('00', ReceiverPostalCode ), 5)
where len(ReceiverPostalCode) between 3 and 4