mysql:CONVERT()函数无法处理从GROUP_CONCAT()到VARCHAR的字节

时间:2012-09-20 05:45:25

标签: mysql sql

我正在使用mysql的GROUP_CONCAT()进行查询。但是我以字节为单位获取数据。 要将字节转换为VARCHAR,我使用了CONVERT()函数。 但即便如此,我也没有看到任何差异。我仍在以字节为单位获取数据。

以下是我的尝试:

CONVERT(GROUP_CONCAT((T1.CASE NODE_ID WHEN 103 THEN CONCAT(T1.CUSTOMER_ATTRIBUTE,'~',T2.DISPLAY_TEXT) ELSE NULL END)) USING LATIN1)AS HEADER,

但我得到的输出为:

HEADER
----------
Name [4B]

需要帮助。

感谢。

2 个答案:

答案 0 :(得分:0)


使用这个CONCAT(GROUP_CONCAT(your_column))这将作为输出字符串给出

欢呼声..

答案 1 :(得分:0)

这是因为不同的类型被传递到CONCAT函数。 MySQL将它们转换为适当的类型,在您的情况下它是BLOB或其他类型。

解决方案是将所有非字符串类型转换为字符串,或者只将CONCAT函数的结果转换为字符串一次。例如 -

SELECT CAST(CONCAT(id, '~', column1, column2) AS CHAR)