Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

คิวรี MySQL เพื่อค้นหาเรคคอร์ดที่ความยาวมากกว่า 1

การค้นหาเรคคอร์ดที่ความยาวของฟิลด์มากกว่า 1 ใน MySQL

สามารถใช้ฟังก์ชัน OCTET_LENGTH() เพื่อตรวจสอบความยาวของข้อมูลในหน่วยไบต์ และกรองเฉพาะเรคคอร์ดที่มีความยาวมากกว่า 1

ตัวอย่างการใช้งาน

สร้างตารางตัวอย่าง:

mysql> create table DemoTable (
    UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName varchar(20),
    UserGender varchar(20)
);

เพิ่มข้อมูลตัวอย่าง:

mysql> insert into DemoTable(UserName,UserGender) values('John','M');
mysql> insert into DemoTable(UserName,UserGender) values('Carol','Male');
mysql> insert into DemoTable(UserName,UserGender) values('Mia','Female');
mysql> insert into DemoTable(UserName,UserGender) values('Emma','F');

แสดงข้อมูลทั้งหมด:

mysql> select * from DemoTable;
+--------+----------+------------+
| UserId | UserName | UserGender |
+--------+----------+------------+
| 1      | John     | M          |
| 2      | Carol    | Male       |
| 3      | Mia      | Female     |
| 4      | Emma     | F          |
+--------+----------+------------+

คิวรีเพื่อดึงเฉพาะเรคคอร์ดที่ UserGender มีความยาวมากกว่า 1 ไบต์:

mysql> select * from DemoTable where OCTET_LENGTH(UserGender) > 1;

ผลลัพธ์:

+--------+----------+------------+
| UserId | UserName | UserGender |
+--------+----------+------------+
| 2      | Carol    | Male       |
| 3      | Mia      | Female     |
+--------+----------+------------+

คำอธิบาย: ฟังก์ชัน OCTET_LENGTH() คืนค่าความยาวในหน่วยไบต์ ซึ่งเหมาะสำหรับข้อมูลที่อาจมีตัวอักษรหลายไบต์ (Multi-byte characters) หากต้องการนับจำนวนตัวอักษร ให้ใช้ CHAR_LENGTH() แทน