0

我正在使用 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]

需要帮助。

谢谢。

4

2 回答 2

0

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

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

SELECT CAST(CONCAT(id, '~', column1, column2) AS CHAR)
于 2012-09-20T06:26:42.670 回答
0


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

干杯..

于 2012-09-20T05:53:49.150 回答