MySQL การใช้งานฟังก์ชัน CHARACTER_LENGTH()

ฟังก์ชัน 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 ความยาวชื่อ;
แชร์เรื่องนี้