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

Truy vấn kết quả có độ dài ký tự nhỏ hơn X trong MySQL

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_LENGTH cho 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.