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

ฟังก์ชัน ASCII() ใน MySQL ใช้เพื่อคืนค่ารหัส ASCII ของตัวอักษรตัวแรกในข้อความ (string) โดยจะคืนค่าเป็นจำนวนเต็ม (INTEGER) ที่ตรงกับรหัส ASCII ของตัวอักษรนั้น

ประโยชน์ของ ASCII()

  • ใช้ในการเปรียบเทียบค่าตัวอักษรทางเทคนิค เช่น A-Z, a-z, ตัวเลข
  • ใช้ตรวจสอบข้อมูล หรือเข้ารหัสเบื้องต้น (basic encoding)
  • ใช้ร่วมกับฟังก์ชันอื่นในการจัดอันดับหรือตรวจสอบข้อมูลที่มีตัวอักษรพิเศษ

รูปแบบ Syntax

ASCII(str)
  • str คือข้อความ (string) ที่ต้องการแปลงตัวแรกเป็นรหัส ASCII
    • ถ้า str เป็น NULL จะคืนค่า NULL
    • ถ้า str เป็นค่าว่าง ('') จะคืนค่า 0
    • ถ้า str ไม่ใช่ string ระบบจะพยายามแปลงเป็น string ก่อน

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

SQL
SELECT ASCII('A');     -- คืนค่า: 65
SELECT ASCII('a');     -- คืนค่า: 97
SELECT ASCII('9');     -- คืนค่า: 57
SELECT ASCII('ไทย');   -- คืนค่า: ค่า Unicode ตัวแรกตาม charset (ขึ้นอยู่กับ encoding)

สมมุติว่าเราต้องการตรวจสอบว่า รหัส ASCII ของตัวอักษรตัวแรกของชื่อดารา (first_name) ในตาราง actor คืออะไร

SQL
SELECT actor_id, first_name, ASCII(first_name) AS ascii_code
FROM actor
LIMIT 10;
  • ฟังก์ชัน ASCII(first_name) จะดึงอักษรตัวแรกของชื่อดารา แล้วแปลงเป็นค่ารหัส ASCII
  • สามารถใช้ผลลัพธ์นี้เพื่อวิเคราะห์เพิ่มเติม เช่น
    • ตรวจสอบว่าชื่อเริ่มด้วยตัวอักษรภาษาอังกฤษหรือไม่
    • เรียงลำดับตามรหัส ASCII
    • กรองเฉพาะชื่อที่ขึ้นต้นด้วยอักขระบางกลุ่ม

ตัวอย่างการจัดกลุ่มตาม ASCII

SQL
SELECT ASCII(first_name) AS ascii_code, COUNT(*) AS total
FROM actor
GROUP BY ascii_code
ORDER BY ascii_code;
  • จัดกลุ่มดาราตามรหัส ASCII ของตัวอักษรตัวแรกในชื่อ
  • ใช้สำหรับวิเคราะห์ว่าแต่ละรหัส ASCII มีคนใช้ชื่อขึ้นต้นบ่อยแค่ไหน
แชร์เรื่องนี้