ฟังก์ชัน 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 มีคนใช้ชื่อขึ้นต้นบ่อยแค่ไหน