ใช้ฟังก์ชัน CHAR_LENGTH() เพื่อนับจำนวนตัวอักษร (Characters) ไม่ใช่ไบต์
ไวยากรณ์
SELECT CHAR_LENGTH(column_name) FROM yourTableName;
ตัวอย่างการใช้งาน
1. สร้างตารางและข้อมูล
mysql> create table DemoTable (Name varchar(100));
mysql> insert into DemoTable values('John'), ('Robert'), ('Bob'), ('David');
2. หาความยาวแต่ละชื่อ
mysql> SELECT CHAR_LENGTH(Name) FROM DemoTable;
ผลลัพธ์
+-------------------+ | CHAR_LENGTH(Name) | +-------------------+ | 4 | | 6 | | 3 | | 5 | +-------------------+
ความแตกต่าง LENGTH vs CHAR_LENGTH
| ฟังก์ชัน | หน่วย | ตัวอักษรไทย "ไทย" | ตัวอักษรอังกฤษ "Thai" |
|---|---|---|---|
LENGTH() | Bytes | 9 (3 bytes/char × 3) | 4 |
CHAR_LENGTH() | Characters | 3 | 4 |
การประยุกต์ใช้
-- หาชื่อที่ยาวที่สุด SELECT Name FROM DemoTable ORDER BY CHAR_LENGTH(Name) DESC LIMIT 1; -- หาความยาวเฉลี่ย SELECT AVG(CHAR_LENGTH(Name)) FROM DemoTable; -- กรองชื่อที่ยาวเกิน 10 ตัวอักษร SELECT * FROM DemoTable WHERE CHAR_LENGTH(Name) > 10;