Để tính tổng độ dài (số ký tự) của nhiều cột văn bản cho mỗi hàng, dùng CHAR_LENGTH() (hoặc LENGTH() cho byte) kết hợp CONCAT().
Ví dụ minh họa
Tạo bảng 2 cột tên:
mysql> create table DemoTable (
FirstName varchar(100),
LastName varchar(100)
);
Chèn dữ liệu:
mysql> insert into DemoTable values('Chris','Brown');
mysql> insert into DemoTable values('David','Miller');
mysql> insert into DemoTable values('Carol','Taylor');
Hiển thị dữ liệu:
mysql> select * from DemoTable;
Kết quả:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | Chris | Brown | | David | Miller | | Carol | Taylor | +-----------+----------+
Truy vấn CHAR_LENGTH(CONCAT(FirstName, LastName))
mysql> select char_length(concat(FirstName,LastName)) from DemoTable;
Kết quả:
+-----------------------------------------+ | char_length(concat(FirstName,LastName)) | +-----------------------------------------+ | 10 | | 11 | | 11 | +-----------------------------------------+
Giải thích:
CONCAT(FirstName, LastName): Nối 2 chuỗi: 'ChrisBrown' (5+5=10), 'DavidMiller' (5+6=11), 'CarolTaylor' (5+6=11)CHAR_LENGTH(): Đếm số **ký tự** (character). KhácLENGTH()đếm số **byte** (quan trọng với UTF-8: 1 ký tự Việt = 3 byte)- Kết quả: 10, 11, 11 ký tự
Mở rộng: Nếu cần độ dài từng cột riêng: CHAR_LENGTH(FirstName) AS len_fn, CHAR_LENGTH(LastName) AS len_ln, CHAR_LENGTH(CONCAT(FirstName,LastName)) AS total_len.