Để lấy các bản ghi có độ dài lớn hơn 1, ta sử dụng hàm OCTET_LENGTH() để kiểm tra độ dài byte của chuỗi.
Tạo bảng và chèn dữ liệu
mysql> create table DemoTable (
UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName varchar(20),
UserGender varchar(20)
);
Query OK, 0 rows affected (0.55 sec)mysql> insert into DemoTable(UserName,UserGender) values('John','M');
Query OK, 1 row affected (0.82 sec)
mysql> insert into DemoTable(UserName,UserGender) values('Carol','Male');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(UserName,UserGender) values('Mia','Female');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(UserName,UserGender) values('Emma','F');
Query OK, 1 row affected (0.17 sec)Xem toàn bộ dữ liệu
mysql> select *from DemoTable;
+--------+----------+------------+ | UserId | UserName | UserGender | +--------+----------+------------+ | 1 | John | M | | 2 | Carol | Male | | 3 | Mia | Female | | 4 | Emma | F | +--------+----------+------------+ 4 rows in set (0.00 sec)
Truy vấn lọc bản ghi độ dài > 1
mysql> select *from DemoTable where OCTET_LENGTH(UserGender) > 1;
+--------+----------+------------+ | UserId | UserName | UserGender | +--------+----------+------------+ | 2 | Carol | Male | | 3 | Mia | Female | +--------+----------+------------+ 2 rows in set (0.00 sec)
Giải thích: OCTET_LENGTH() trả về độ dài tính bằng byte. Các giá trị 'M' và 'F' có độ dài 1 byte, trong khi 'Male' (4 byte) và 'Female' (6 byte) thoả mãn điều kiện > 1.