Cột BIT khi dùng với GROUP_CONCAT thường trả về ký tự không in được. Khắc phục bằng cách cộng 0 (Value+0) để ép kiểu sang số.
Ví dụ minh họa
Tạo bảng cột BIT:
mysql> CREATE TABLE DemoTable1856 (Id INT, Value BIT(1)); mysql> INSERT INTO DemoTable1856 VALUES(101,1),(102,0),(101,0),(102,1),(101,0);
Sai: GROUP_CONCAT(Value) -> ký tự rác.
Đúng: GROUP_CONCAT(Value+0):
mysql> SELECT GROUP_CONCAT(Value+0) FROM DemoTable1856 GROUP BY Id;
Kết quả:
+-----------------------+ | group_concat(Value+0) | +-----------------------+ | 1,0,0 | | 0,1 | +-----------------------+
Giải thích: BIT lưu trữ dưới dạng nhị phân. Cộng 0 chuyển thành số nguyên 0/1 để hiển thị đúng.