ฟังก์ชัน CHARACTER_LENGTH() ใน MySQL ใช้สำหรับนับจำนวนตัวอักษร (characters) ภายในข้อความ (string) ซึ่งถือว่าเป็นฟังก์ชันที่เหมือนกับ CHAR_LENGTH() ทุกประการ เพราะจริง ๆ แล้ว CHARACTER_LENGTH() คือชื่อแบบเต็ม ของ CHAR_LENGTH()
ประโยชน์ของฟังก์ชัน CHARACTER_LENGTH()
- ใช้ตรวจสอบความยาวของข้อความตามจำนวนตัวอักษร
- รองรับตัวอักษรหลายไบต์ เช่น ภาษาไทย ญี่ปุ่น จีน
- ใช้ตรวจสอบข้อความก่อนแสดงผล หรือจำกัดความยาวในการประมวลผล
รูปแบบการใช้งาน
CHARACTER_LENGTH(str)
strคือข้อความที่ต้องการนับความยาว- ถ้าเป็น
NULLจะคืนค่าNULL
- ถ้าเป็น
ฟังก์ชันนี้ใช้งานเหมือนกับฟังก์ชัน CHAR_LENGTH() ทุกประการ
ตัวอย่างการใช้งาน
SQL
SELECT CHARACTER_LENGTH('Hello World'); -- คืนค่า: 11
SELECT CHARACTER_LENGTH('ประเทศไทย'); -- คืนค่า: 9แสดงชื่อภาพยนตร์ (title) พร้อมความยาวของชื่อ
SQL
SELECT title, CHARACTER_LENGTH(title) AS title_length
FROM film
ORDER BY title_length DESC
LIMIT 10;เลือกเฉพาะภาพยนตร์ที่ชื่อมีความยาวไม่เกิน 10 ตัวอักษร
SQL
SELECT title
FROM film
WHERE CHARACTER_LENGTH(title) <= 10;แสดงจำนวนภาพยนตร์แบ่งตามความยาวชื่อ
SQL
SELECT
CASE
WHEN CHARACTER_LENGTH(title) <= 5 THEN 'สั้นมาก'
WHEN CHARACTER_LENGTH(title) <= 10 THEN 'สั้น'
WHEN CHARACTER_LENGTH(title) <= 20 THEN 'ปานกลาง'
ELSE 'ยาว'
END AS ความยาวชื่อ,
COUNT(*) AS จำนวน
FROM film
GROUP BY ความยาวชื่อ;