บทความนี้จะแสดงรายละเอียดวิธีใช้ฟังก์ชันแปลงชนิดข้อมูล CONVERT ใน SQL Server พร้อมไวยากรณ์และตัวอย่างเฉพาะ เพื่อให้เห็นและเข้าใจฟังก์ชันได้ดีขึ้น
คำอธิบาย
ฟังก์ชัน CONVERT ใน SQL Server อนุญาตให้คุณแปลงนิพจน์เป็นชนิดข้อมูลที่ต้องการได้ แต่สามารถปฏิบัติตามรูปแบบที่กำหนดได้ (โดยเฉพาะชนิดข้อมูลวันที่) หากการแปลงล้มเหลว CONVERT จะรายงานข้อผิดพลาด มิฉะนั้นจะส่งคืนค่าการแปลงที่ตรงกัน
ไวยากรณ์
เพื่อใช้ฟังก์ชัน CONVERT ใน SQL Server เราใช้ไวยากรณ์ดังนี้:
CONVERT(kieudulieu(do_dai), bieuthuc, dinh_dang)
พารามิเตอร์ :
- kieudulieu: ชื่อชนิดข้อมูลใหม่ที่นิพจน์จะถูกแปลงไป อาจเป็นหนึ่งใน: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary หรือ image
- do_dai (ตัวเลือก): ความยาวชนิดข้อมูลสำหรับผลลัพธ์ของ char, varchar, nchar, nvarchar, binary และ varbinary
- bieuthuc: ค่าที่จะแปลงเป็นชนิดข้อมูลอื่น อาจเป็นชื่อคอลัมน์ในตารางหรือนิพจน์คำนวณที่ต้องแปลงเป็นชนิดข้อมูลใหม่
- dinh_dang (ตัวเลือก): เป็นตัวเลขที่ระบุรูปแบบสำหรับแปลงข้อมูลจากรูปแบบวันที่เป็นสตริง ตารางด้านล่างอธิบายรูปแบบทั่วไปที่ใช้ใน CONVERT
รูปแบบปี (yy)
รูปแบบปี (yyyy)
แสดงข้อมูล 0 100 mon dd yyyy hh:miAM/PM (Default) 1 101 mm/dd/yyyy (US standard) 2 102 yy.mm.dd (ANSI standard) 3 103 dd/mm/yy (British/French standard) 4 104 dd.mm.yy (German standard) 5 105 dd-mm-yy (Italian standard) 6 106 dd mon yy 7 107 Mon dd, yy 8 108 hh:mi:ss 9 109 mon dd yyyy hh:mi:ss:mmmAM/PM 10 110 mm-dd-yy (USA standard) 11 111 yy/mm/dd (Japan standard) 12 112 yymmdd (ISO standard) 13 113 dd mon yyyy hh:mi:ss:mmm (Europe standard - 24 hour clock) 14 114 hh:mi:ss:mmm (24 hour clock) 20 120 yyyy-mm-dd hh:mi:ss (ODBC canonical - 24 hour clock) 21 121 yyyy-mm-dd hh:mi:ss:mmm (ODBC canonical - 24 hour clock) 126 yyyy-mm-ddThh:mi:ss:mmm (ISO8601 standard) 127 yyyy-mm-ddThh:mi:ss:mmmZ (ISO8601 standard) 130 dd y yyyy hh:mi:ss:mmmAM/PM (Hijri standard) 131 dd/mm/yy hh:mi:ss:mmmAM/PM (Hijri standard)
หมายเหตุ :
- เมื่อแปลง float หรือ numeric เป็น int จำนวนเต็ม CONVERT จะตัดส่วนทศนิยมด้านหลัง
- ดูเพิ่มเติม CAST และ TRY_CAST, TRY_CONVERT functions
- CONVERT สามารถใช้ใน SQL Server รุ่นใหม่ๆ: 2017, 2016, 2014, 2012, 2008 R2, 2008, และ 2005
ตัวอย่าง
ดูและสำรวจตัวอย่างฟังก์ชัน CONVERT ใน SQL Server
SELECT CONVERT(int, 14.85);
Result: 14 (ผลลัพธ์ตัดส่วนทศนิยม)
SELECT CONVERT(float, 14.85);
Result: 14.85
SELECT CONVERT(varchar, 15.6);
Result: '15.6'
SELECT CONVERT(varchar(4), 15.6);
Result: '15.6'
SELECT CONVERT(float, '15.6');
Result: 15.6
SELECT CONVERT(datetime, '2019-05-02');
Result: '2019-05-02 00:00:00.000'
SELECT CONVERT(varchar, '05/02/2019', 101);
Result: '05/02/2019'