1

データベースに という列がありますstorageFolder。この列のすべての行には値 8 が含まれ、INT (4) に設定されます。

私の SELECT クエリでは、レコードが「group8」になるように、この列に「group」というプレフィックスを付けて返そうとしています。

次のように、これを行うために 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 に答える