Lọc bản ghi theo độ dài chuỗi với CHAR_LENGTH() trong MySQL
Sử dụng CHAR_LENGTH(cot) trong mệnh đề WHERE để tìm chuỗi ngắn hơn ngưỡng cho trước.
Tạo bảng và dữ liệu
mysql> create table DemoTable ( FullName varchar(50) );
mysql> insert into DemoTable values('Chris Brown');
mysql> insert into DemoTable values('David Miller');
mysql> insert into DemoTable values('Robert Miller');
mysql> insert into DemoTable values('John Smith');
Truy vấn: Tên có độ dài < 12 ký tự
mysql> select * from DemoTable where char_length(FullName) < 12;
Kết quả
+-------------+ | FullName | +-------------+ | Chris Brown | | John Smith | +-------------+
Đếm ký tự:
- 'Chris Brown' = 11 ký tự (kể khoảng trắng) → < 12 ✓
- 'David Miller' = 12 ký tự → không < 12 ✗
- 'Robert Miller' = 13 ký tự → ✗
- 'John Smith' = 10 ký tự → ✓
CHAR_LENGTH vs LENGTH:
CHAR_LENGTH(): Số ký tự (Unicode-aware). 'é' = 1 ký tựLENGTH(): Số byte. 'é' (UTF-8) = 2 byte- Dùng
CHAR_LENGTHcho logic nghiệp vụ (giới hạn nhập liệu, hiển thị)
Ứng dụng: Validation dữ liệu, tìm tên quá ngắn/dài, phát hiện dữ liệu bất thường.