Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

ฟังก์ชัน TRY_CAST ใน SQL Server

บทความนี้จะแสดงรายละเอียดวิธีใช้ฟังก์ชันแปลงชนิดข้อมูล TRY_CAST ใน SQL Server พร้อมไวยากรณ์และตัวอย่างเฉพาะ เพื่อให้เห็นและเข้าใจฟังก์ชันได้ดีขึ้น

คำอธิบาย

ฟังก์ชัน TRY_CAST ใน SQL Server แปลงนิพจน์จากชนิดข้อมูลหนึ่งไปอีกชนิดหนึ่ง หากการแปลงล้มเหลว TRY_CAST จะส่งคืน NULL มิฉะนั้นจะส่งคืนค่าการแปลงที่ตรงกัน

ไวยากรณ์

เพื่อใช้ฟังก์ชัน TRY_CAST ใน SQL Server เราใช้ไวยากรณ์ดังนี้:

TRY_CAST(bieuthuc AS kieudulieu [(do_dai)])

พารามิเตอร์ :

  1. bieuthuc: ค่าที่จะแปลงเป็นชนิดข้อมูลอื่น อาจเป็นชื่อคอลัมน์ในตารางหรือนิพจน์คำนวณที่ต้องแปลงเป็นชนิดข้อมูลใหม่
  2. kieudulieu: ชื่อชนิดข้อมูลใหม่ที่นิพจน์จะถูกแปลงไป อาจเป็นหนึ่งใน: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary หรือ image
  3. do_dai (ตัวเลือก): ความยาวชนิดข้อมูลสำหรับผลลัพธ์ของ char, varchar, nchar, nvarchar, binary และ varbinary

หมายเหตุ :

  1. เมื่อแปลง float หรือ numeric เป็น int จำนวนเต็ม ฟังก์ชัน TRY_CAST จะตัดส่วนทศนิยมด้านหลัง
  2. ดูเพิ่มเติม CAST, CONVERT และ TRY_CONVERT functions
  3. TRY_CAST สามารถใช้ใน SQL Server รุ่นใหม่ๆ: 2017, 2016, 2014, 2012

ตัวอย่าง

ดูและสำรวจตัวอย่างฟังก์ชัน TRY_CAST ใน SQL Server

SELECT TRY_CAST(14.85 AS int);
Result: 14
(ผลลัพธ์เป็นค่า int ตัดส่วนทศนิยม)

SELECT TRY_CAST(14.85 AS float);
Result: 14.85
(ผลลัพธ์ส่งคืนเป็นค่า float ไม่ถูกตัด)

SELECT TRY_CAST('14 Main St.' AS float);
Result: NULL
(ผลลัพธ์เป็น NULL เพราะไม่สามารถแปลงสตริงนี้เป็น float ได้)

SELECT TRY_CAST(15.6 AS varchar);
Result: '15.6'
(ผลลัพธ์ส่งคืนเป็น varchar)

SELECT TRY_CAST(15.6 AS varchar(2));
Result: NULL
(ผลลัพธ์เป็น NULL เพราะการแปลงไม่สำเร็จ ค่าไม่เข้ากับ varchar ความยาว 2 ตัวอักษร)

SELECT TRY_CAST('2018-09-13' AS datetime);
Result: '2018-09-13 00:00:00.000'
(ผลลัพธ์ส่งคืนเป็น datetime)