1

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

在我的 SELECT 查询中,我试图返回带有前缀“group”的列,以使记录读取为“group8”。

我正在尝试使用 CONCAT 来执行此操作,如下所示:

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

但这总是会返回一个零:

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

有任何想法吗?

4

3 回答 3

7
SELECT photoID, CONCAT('group', CAST(storageFolder AS CHAR)) AS storageFolder FROM   photos
于 2012-07-31T04:27:11.297 回答
3

在连接之前尝试将其storageFolder转换为字符串:

SELECT photoID, 
       CONCAT('group', CAST(storageFolder AS CHAR(10))) AS storageFolder
FROM   photos
于 2012-07-31T04:14:48.167 回答
1

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

于 2012-07-31T04:35:21.583 回答