0

クエリの 1 つに 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 に答える