在 MySQL 中使用 GROUP_CONCAT() 返回位欄位時出現亂碼?如何解決?
要修復此問題,可在 group_concat() 中使用與列相加的 0。我們首先建立一個表−
mysql> create table DemoTable1856 ( Id int, Value bit(1) ); Query OK, 0 rows affected (0.00 sec)
使用 insert 命令在表中插入一些記錄 −
mysql> insert into DemoTable1856 values(101,1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1856 values(102,0); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1856 values(101,0); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1856 values(102,1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1856 values(101,0); Query OK, 1 row affected (0.00 sec)
使用 select 語句顯示錶中的所有記錄 −
mysql> select * from DemoTable1856;
這將產生以下輸出 −
+------+-------+ | Id | Value | +------+-------+ | 101 | | | 102 | | | 101 | | | 102 | | | 101 | | +------+-------+ 5 rows in set (0.00 sec)
以下是查詢,可用於在位欄位上使用 group_concat() 並避免返回亂碼值 −
mysql> select group_concat(Value+0) from DemoTable1856 group by Id;
這將產生以下輸出 −
+-----------------------+ | group_concat(Value+0) | +-----------------------+ | 1,0,0 | | 0,1 | +-----------------------+ 2 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP