Concat编号为字符串,编号始终返回零

时间:2012-07-31 04:12:53

标签: mysql sql

我的数据库中有一个名为storageFolder的列。所述列中的所有行都包含值8,并设置为INT(4)。

在我的SELECT查询中,我正在尝试使用前缀“group”返回此列,以使记录读为“group8”。

我正在尝试使用CONCAT这样做:

SELECT photoID, CONCAT('group',storageFolder) AS storageFolder FROM photos

但是这总是返回,零:

storageFolder
----------------
group0

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

SELECT photoID, CONCAT('group', CAST(storageFolder AS CHAR)) AS storageFolder FROM   photos

答案 1 :(得分:3)

在连接之前尝试将storageFolder连接到字符串:

SELECT photoID, 
       CONCAT('group', CAST(storageFolder AS CHAR(10))) AS storageFolder
FROM   photos

答案 2 :(得分:1)

我设法解决了这个问题。我的列曾经是一个值为'group8'的VARCHAR,我最近将它修改为INT(4),其值为'8'。不确定会导致此错误的原因。无论如何,我删除了列并重新创建它并按预期工作。奇怪!