-2

我已经尝试遵循这个这个,因为我需要用零填充一列。

所以我有一个领域

name_id
1
2
21
74

我希望它像

name_id
001
002
021
074

所以我试过这样做:

SELECT RIGHT('000'+ name_id,3) from tblCoordinates;

但结果是:

RIGHT('000'+name_id,3)
1
2
21
74

我正在使用 MySQL Server 2005。select 语句有什么问题?谢谢

4

2 回答 2

2

您需要先转换name_idVARCHAR

SELECT RIGHT('000' + CONVERT(VARCHAR(3), name_id), 3) from tblCoordinates;

如果您使用的是 MySQL,则有一个内置函数LPAD()

SELECT LPAD(name_id, 3, '0') from tblCoordinates;
于 2015-08-25T02:26:19.483 回答
0

SELECT '000' + '1'=> 1 用于串联使用CONCAT()

SELECT RIGHT(CONCAT('000',name_id),3)
FROM tblCoordinates;
于 2015-08-25T02:28:20.730 回答