gpt4 book ai didi

mysql - 这个 MySQL 查询有什么问题? (尝试将前导 0 重新添加到邮政编码)

转载 作者:行者123 更新时间:2023-11-29 04:52:52 25 4
gpt4 key购买 nike

我有一个邮政编码表,其中的很多字段在导入过程中都丢失了前导零。我有一个查询应该将零重新添加到左侧,并且我运行这个查询没有错误,但是它说 0 行受到影响:

UPDATE `Zip Codes` SET Code = right(concat("00000",Code), 5) WHERE length(Code) < 5;

谁能看出问题出在哪里?

最佳答案

邮政编码,如电话号码,应始终存储为 VARCHAR 而不是 INT

为什么?

它们不是整数,也不代表实际数字。您并没有真正对它们进行排序,也没有将它们递增或加在一起,它们不代表某种东西的数量,它们只是代码 - 理论上可以包含任何字符,包括字母和标点符号。

如果它们是整数,则 00123 的含义与 123 完全相同。

例如,查看 Wikipedia page on Zip Code Formats ,有多种格式和长度。即使在美国,也有一些扩展名可以使它们超过您分配的 5 位数。

VARCHAR(32) 应该足够了。

关于mysql - 这个 MySQL 查询有什么问题? (尝试将前导 0 重新添加到邮政编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9677124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com