บทความนี้จะแสดงรายละเอียดเกี่ยวกับวิธีใช้ฟังก์ชันการแปลงประเภทข้อมูล TRY_CAST ใน SQL Server พร้อมไวยากรณ์และตัวอย่างเฉพาะเพื่อให้เห็นภาพและจับภาพฟังก์ชันได้ดียิ่งขึ้น
อธิบาย
ฟังก์ชัน TRY_CAST ใน SQL Server จะแปลงนิพจน์จากประเภทข้อมูลหนึ่งเป็นอีกประเภทหนึ่ง หากการแปลงล้มเหลว TRY_CAST จะคืนค่า NULL ไม่เช่นนั้นจะคืนค่าการแปลงที่เกี่ยวข้อง
ไวยากรณ์
หากต้องการใช้ฟังก์ชัน TRY_CAST ใน SQL Server เราใช้ไวยากรณ์ต่อไปนี้:
TRY_CAST(bieuthuc AS kieudulieu [(do_dai)])
พารามิเตอร์ :
- bieutuc: ค่าที่จะแปลงเป็นข้อมูลประเภทอื่น อาจเป็นชื่อของคอลัมน์ในตารางหรือนิพจน์การคำนวณที่ต้องแปลงเป็นชนิดข้อมูลใหม่
- kieudulieu: ชื่อชนิดข้อมูลใหม่ที่จะแปลงนิพจน์ อาจเป็นหนึ่งในสิ่งต่อไปนี้:bigint, int, smallint, tinyint, บิต, ทศนิยม, ตัวเลข, เงิน, smallmoney, float, จริง, datetime, smalldatetime, char, varchar, ข้อความ, nchar, nvarchar, ntext, binary, varbinary หรือ ภาพ
- do_dai (ไม่บังคับ):ความยาวของประเภทข้อมูลสำหรับผลลัพธ์ของ char, varchar, nchar, nvarchar, binary และ varbinary
หมายเหตุ :
- เมื่อแปลงข้อมูลทศนิยมหรือตัวเลขเป็นจำนวนเต็ม ฟังก์ชัน TRY_CAST จะตัดส่วนทศนิยมออก
- ดูฟังก์ชัน CAST, CONVERT และ TRY_CONVERT ด้วย
- TRY_CAST สามารถใช้ได้ในเวอร์ชันที่ใหม่กว่าของ SQL Server:SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012
ตัวอย่าง
ลองดูและสำรวจตัวอย่างฟังก์ชัน TRY_CAST ใน SQL Server
SELECT TRY_CAST(14.85 AS int);
Result: 14
(kết quả là một giá trị int bị cắt phần thập phân)
SELECT TRY_CAST(14.85 AS float);
Result: 14.85
(kết quả được trả về dưới dạng giá trị float và không bị cắt ngắn)
SELECT TRY_CAST('14 Main St.' AS float);
Result: NULL
(kết quả là NULL vì không thể chuyển đổi giá trị chuỗi này thành float)
SELECT TRY_CAST(15.6 AS varchar);
Result: '15.6'
(kết quả được trả về dưới dạng varchar)
SELECT TRY_CAST(15.6 AS varchar(2));
Result: NULL
(kết quả là NULL vì chuyển đổi không thành công do giá trị không phù hợp với
varchar độ dài 2 ký tự)
SELECT TRY_CAST('2018-09-13' AS datetime);
Result: '2018-09-13 00:00:00.000'
(kết quả được trả về dưới dạng datetime)