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

Lấy hàng có độ dài cột nhỏ hơn 5 ký tự trong MySQL

Tóm tắt

Dùng hàm LENGTH() (số byte) hoặc CHAR_LENGTH() (số ký tự) trong mệnh đề WHERE để lọc.

Cú pháp

SELECT * FROM bang WHERE LENGTH(cot) < 5;
-- Hoặc đếm ký tự:
SELECT * FROM bang WHERE CHAR_LENGTH(cot) < 5;

Ví dụ

1. Tạo bảng mã bưu chính

CREATE TABLE fieldLessThan5Chars (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    yourZipCode VARCHAR(10)
);

2. Dữ liệu

INSERT INTO fieldLessThan5Chars (yourZipCode) VALUES
('35801'), ('3580'), ('90001'), ('100'), ('10'), ('0'), ('90209'), ('33124');

3. Lọc độ dài < 5 ký tự

SELECT * FROM fieldLessThan5Chars WHERE LENGTH(yourZipCode) < 5;

4. Kết quả

+----+-------------+
| Id | yourZipCode |
+----+-------------+
| 2  | 3580        |
| 4  | 100         |
| 5  | 10          |
| 6  | 0           |
+----+-------------+

LENGTH vs CHAR_LENGTH

HàmĐếmVí dụ 'abc'Ví dụ 'あいう' (UTF-8)
LENGTH()Byte39 (3 ký tự × 3 byte)
CHAR_LENGTH()Ký tự33

Khuyến nghị

  • Dùng CHAR_LENGTH() cho logic nghiệp vụ (số ký tự người dùng thấy).
  • Dùng LENGTH() cho kiểm tra kích thước lưu trữ, validation byte.
  • Index: không thể index trực tiếp LENGTH() – dùng generated column/virtual column nếu cần tìm kiếm nhanh.