- 1 1. แนวคิดพื้นฐานของฟังก์ชัน CAST
- 2 2. ไวยากรณ์และการใช้งานของฟังก์ชัน CAST
- 3 3. ประเภทข้อมูลที่ใช้บ่อยและตัวอย่างการแปลง
- 4 4. หมายเหตุสำคัญและแนวปฏิบัติที่ดีที่สุดสำหรับฟังก์ชัน CAST
- 5 5. ความแตกต่างระหว่างฟังก์ชัน CAST กับฟังก์ชัน CONVERT
- 6 6. ตัวอย่างเชิงปฏิบัติ: การจัดการข้อมูลด้วยฟังก์ชัน CAST
- 7 7. สรุป
1. แนวคิดพื้นฐานของฟังก์ชัน CAST
ฟังก์ชัน CAST คืออะไร?
ฟังก์ชัน CAST ของ MySQL เป็นฟังก์ชัน SQL ที่ใช้แปลงประเภทข้อมูล โดยจะแปลงนิพจน์ที่ระบุให้เป็นประเภทข้อมูลอื่น ๆ การใช้ฟังก์ชัน CAST คุณสามารถเช่น แปลงสตริงเป็นจำนวนเต็ม หรือแปลงประเภทวันที่เป็นสตริงได้ เป็นเครื่องมือที่มีประโยชน์และถูกใช้บ่อยในงานฐานข้อมูลเพื่อรักษาความสอดคล้องของประเภทข้อมูล
การใช้งานหลักของฟังก์ชัน CAST
ฟังก์ชัน CAST มีการใช้งานที่หลากหลายและมักถูกใช้ในสถานการณ์ต่อไปนี้
- การทำให้ข้อมูลเป็นมาตรฐาน : ใช้เพื่อทำให้ข้อมูลที่เก็บในรูปแบบต่าง ๆ มีความสอดคล้องกัน ตัวอย่างเช่น ช่วยทำให้รูปแบบวันที่ที่เก็บในตารางเป็นรูปแบบเดียวกัน
- การแปลงประเภทข้อมูล : แปลงจำนวนเต็มเป็นสตริงหรือกลับกันเพื่อเพิ่มประสิทธิภาพในการแสดงผลและการคำนวณ
SELECT CAST('2023-09-22' AS DATE);
ความแตกต่างระหว่างฟังก์ชัน CAST กับการแปลงประเภทข้อมูลอื่น ๆ
ฟังก์ชัน CAST มีลักษณะคล้ายกับฟังก์ชันการแปลงของ MySQL อื่น ๆ (เช่น CONVERT) แต่ความแตกต่างสำคัญคือ CAST ปฏิบัติตามมาตรฐาน SQL และได้รับการสนับสนุนจากระบบฐานข้อมูลหลายระบบ ส่วน CONVERT เป็นฟังก์ชันเฉพาะของ MySQL และมักใช้เพื่อวัตถุประสงค์พิเศษ เช่น การแปลงชุดอักขระ
2. ไวยากรณ์และการใช้งานของฟังก์ชัน CAST
ไวยากรณ์ของฟังก์ชัน CAST
ไวยากรณ์พื้นฐานของฟังก์ชัน CAST มีดังนี้
CAST(expression AS data_type)
ในไวยากรณ์นี้ ให้ระบุค่าที่ต้องการแปลงในส่วนของ expression และระบุประเภทข้อมูลเป้าหมายในส่วนของ data_type
ตัวอย่างการใช้ฟังก์ชัน CAST
- แปลงเป็นประเภทจำนวนเต็ม : ใช้เมื่อแปลงสตริงเป็นจำนวนเต็ม
SELECT CAST('123' AS SIGNED);
- แปลงเป็นประเภทสตริง : ใช้เมื่อแปลงค่าตัวเลขเป็นสตริง
SELECT CAST(123 AS CHAR);
การจัดการข้อผิดพลาด
เมื่อใช้ฟังก์ชัน CAST อาจเกิดข้อผิดพลาดหากค่าที่ระบุไม่ถูกต้องสำหรับประเภทข้อมูลเป้าหมาย ตัวอย่างเช่น การพยายามแปลง 'abc' เป็นค่าตัวเลขจะทำให้เกิดข้อผิดพลาด ในกรณีเช่นนี้แนะนำให้จัดการข้อผิดพลาดโดยใช้ฟังก์ชันร่วมเช่น IFNULL
3. ประเภทข้อมูลที่ใช้บ่อยและตัวอย่างการแปลง
สถานการณ์ทั่วไปสำหรับการแปลงประเภทข้อมูล
ด้วยฟังก์ชัน CAST มักจะมีการแปลงเป็นประเภทข้อมูลต่อไปนี้
- ประเภท INT : แปลงค่าให้เป็นประเภทจำนวนเต็ม
- ประเภท VARCHAR : แปลงค่าตัวเลขหรือวันที่ให้เป็นสตริง
- ประเภท DATE : แปลงสตริงหรือค่าตัวเลขให้เป็นวันที่
การแปลงเป็นประเภท INT
SELECT CAST('456' AS SIGNED);
ในตัวอย่างนี้ สตริง '456' ถูกแปลงเป็นประเภทจำนวนเต็ม
การแปลงเป็นประเภท VARCHAR
SELECT CAST(456 AS CHAR);
นี่คือตัวอย่างการแปลงจำนวนเต็มเป็นสตริง การทำเช่นนี้มีประโยชน์เมื่อคุณต้องการแสดงข้อมูลในรูปแบบที่กำหนด
การแปลงเป็นประเภท DATE
SELECT CAST('2024-01-01' AS DATE);
ตัวอย่างนี้จะแปลงสตริงให้เป็นประเภทวันที่ ด้วยวิธีนี้ข้อมูลจะถูกจัดเก็บอย่างแม่นยำและสามารถนำไปใช้ในงานที่เกี่ยวกับวันที่ต่อไปได้

4. หมายเหตุสำคัญและแนวปฏิบัติที่ดีที่สุดสำหรับฟังก์ชัน CAST
หมายเหตุสำคัญเมื่อใช้ฟังก์ชัน CAST
มีประเด็นสำคัญหลายอย่างที่ควรพิจารณาเมื่อใช้ฟังก์ชัน CAST
- ความเข้ากันได้ของประเภท : การแปลงที่ไม่ถูกต้องอาจทำให้เกิดข้อผิดพลาด ดังนั้นต้องตรวจสอบความเข้ากันได้ของประเภทล่วงหน้า
- การสูญเสียความแม่นยำของข้อมูล : โดยเฉพาะเมื่อแปลงตัวเลขแบบทศนิยม ความแม่นยำของข้อมูลอาจสูญเสียไป
แนวปฏิบัติที่ดีที่สุด
- ใช้ประเภท DECIMAL : เมื่อแปลงตัวเลขแบบทศนิยม ควรใช้ประเภท DECIMAL เพื่อป้องกันการสูญเสียความแม่นยำ
SELECT CAST(123.456 AS DECIMAL(5,2));
- การจัดการข้อผิดพลาด : หากมีการผสมประเภทข้อมูลที่ไม่คาดคิด แนะนำให้จัดการข้อผิดพลาดด้วย
IFNULLหรือคำสั่งCASE
5. ความแตกต่างระหว่างฟังก์ชัน CAST กับฟังก์ชัน CONVERT
การเปรียบเทียบระหว่าง CAST และ CONVERT
.ทั้ง CAST และ CONVERT ถูกใช้เพื่อแปลงประเภทข้อมูล แต่มีความแตกต่างกันในด้านไวยากรณ์และวัตถุประสงค์
- ฟังก์ชัน CAST : ใช้กันอย่างแพร่หลายในมาตรฐาน SQL โดยมีไวยากรณ์
CAST(expression AS data_type) - ฟังก์ชัน CONVERT : ฟังก์ชันเฉพาะของ MySQL โดยมีไวยากรณ์
CONVERT(expression, data_type)
ตัวอย่างการใช้ฟังก์ชัน CONVERT
ฟังก์ชัน CONVERT มักใช้สำหรับการแปลงชุดอักขระ
SELECT CONVERT('abc' USING utf8);
ในตัวอย่างนี้ ชุดอักขระของสตริงจะถูกแปลง
ควรใช้ฟังก์ชันใด?
โดยทั่วไปแนะนำให้ใช้ฟังก์ชัน CAST เพราะเป็นไปตามมาตรฐาน SQL และได้รับการสนับสนุนอย่างกว้างขวาง อย่างไรก็ตามเมื่อจำเป็นต้องแปลงชุดอักขระ ฟังก์ชัน CONVERT จะเหมาะสมกว่า
6. ตัวอย่างเชิงปฏิบัติ: การจัดการข้อมูลด้วยฟังก์ชัน CAST
ตัวอย่างการจัดการข้อมูลในโลกจริง
ต่อไปนี้คือตัวอย่างการทำงานกับข้อมูลจริงโดยใช้ฟังก์ชัน CAST
การจัดเรียงหลังจากแปลงตัวเลขเป็นสตริง
เช่น เมื่อแปลงค่าตัวเลขเป็นสตริงก่อนจัดเรียง คุณสามารถเขียนคิวรีได้ดังนี้
SELECT CAST(column_name AS CHAR) FROM table ORDER BY column_name;
การกรองหลังจากแปลงสตริงเป็นตัวเลข
คุณสามารถแปลงสตริงเป็นตัวเลขและกรองตามช่วงค่าที่กำหนดได้
SELECT * FROM table WHERE CAST(column_name AS SIGNED) > 100;
7. สรุป
สรุปบทความ
ฟังก์ชัน CAST มีประโยชน์อย่างยิ่งสำหรับการแปลงประเภทข้อมูลอย่างมีประสิทธิภาพ ในบทความนี้เราได้ครอบคลุมตั้งแต่การใช้งานพื้นฐานจนถึงตัวอย่างเชิงปฏิบัติ เมื่อทำการแปลงประเภทข้อมูล ควรใส่ใจความเข้ากันได้ของประเภทและความแม่นยำของข้อมูล และใช้ฟังก์ชัน CAST อย่างเต็มที่ในงานฐานข้อมูลของคุณ


