将前导零添加到mySQL列

jon*_*ich 2 mysql

我为此尝试了几种解决方案,但似乎都没有效果.我有一个邮政编码列INT(10).

我需要将其转换为(我猜是VARCHAR),以便可以存储带有前导零的邮政编码.现在它们是"8721"而不是"08721".

我试过这个:

SELECT RIGHT('0000'+ CONVERT(VARCHAR,zip_code),5) AS NUM FROM p23data;
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR,zip_code),5) AS NUM FROM p23data' at line 1

我认为上面是创建一个新列,但我只需要更新我现有的zip_code列.

我在这里做的不是什么?

Ben*_*imm 8

LPAD 将处理前导零:

ALTER TABLE p23data CHANGE zip_code zip_code CHAR(5);
UPDATE p23data SET zip_code = LPAD(zip_code, 5, '0');
Run Code Online (Sandbox Code Playgroud)