Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn MySQL lấy độ dài tổng các cột và gộp vào một cột mới

Để 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ác LENGTH() đế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.