是否可以通过SQL在我的数据库中的现有数据中添加额外的字符?即,我有这些行,我需要在zip_codes
上添加额外的0。
id | state_abbr | zip_code
16993 | MA | 1001
16994 | MA | 1002
16995 | MA | 1003
我想将其更改为:
id | state_abbr | zip_code
16993 | MA | 01001
16994 | MA | 01002
16995 | MA | 01003
答案 0 :(得分:1)
这取决于您的列类型
如果将zip_code
存储为整数,则无法在数据库中添加前导零。
MySQL数据类型概述:
如果你使用varchar,你可以在zip_code之前或之后添加你想要的任何内容。
使用varchar:
的示例UPDATE `{tablename}` SET `zip_code` = CONCAT('0', `zip_code`);
答案 1 :(得分:1)
当且仅当列'zip_code'的数据类型是varchar(string)时,您可以使用以下SQL来根据需要更新值:
UPDATE <tablename> SET zip_code = CONCAT('0',zip_code)
WHERE CHAR_LENGTH(zip_code) = 4
OR
(zip_code LIKE '0%' AND CHAR_LENGTH(zip_code) < 5)
我相信最后的OR条件不会有所作为,但如果这符合您的需要......