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

หาความยาวตัวอักษรของทุกค่าในคอลัมน์ MySQL

ใช้ฟังก์ชัน 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()Bytes9 (3 bytes/char × 3)4
CHAR_LENGTH()Characters34

การประยุกต์ใช้

-- หาชื่อที่ยาวที่สุด
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;