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

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

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

อธิบาย

ฟังก์ชัน TRY_CONVERT ใน SQL Server ช่วยให้คุณสามารถแปลงนิพจน์เป็นชนิดข้อมูลที่ต้องการได้ แต่สามารถทำตามรูปแบบเฉพาะได้ (โดยเฉพาะสำหรับชนิดข้อมูลวันที่) หากการแปลงล้มเหลว TRY_CONVERT จะส่งคืนค่า NULL ไม่เช่นนั้นจะคืนค่าการแปลงที่เกี่ยวข้อง

ไวยากรณ์

หากต้องการใช้ฟังก์ชัน TRY_CONVERT ใน SQL Server เราใช้ไวยากรณ์ต่อไปนี้:

 TRY_CONVERT(kieudulieu(do_dai), bieuthuc, dinh_dang) 

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

  1. kieudulieu: ชื่อชนิดข้อมูลใหม่ที่จะแปลงนิพจน์ อาจเป็นหนึ่งในสิ่งต่อไปนี้:bigint, int, smallint, tinyint, บิต, ทศนิยม, ตัวเลข, เงิน, smallmoney, float, จริง, datetime, smalldatetime, char, varchar, ข้อความ, nchar, nvarchar, ntext, binary, varbinary หรือ ภาพ
  2. do_dai (ไม่บังคับ):ความยาวของประเภทข้อมูลสำหรับผลลัพธ์ของ char, varchar, nchar, nvarchar, binary และ varbinary
  3. bieutuc: ค่าที่จะแปลงเป็นข้อมูลประเภทอื่น อาจเป็นชื่อของคอลัมน์ในตารางหรือนิพจน์การคำนวณที่ต้องแปลงเป็นชนิดข้อมูลใหม่
  4. dinh_dang (ไม่บังคับ):เป็นตัวเลขที่ระบุรูปแบบสำหรับการแปลงข้อมูลจากรูปแบบวันที่เป็นรูปแบบสตริง ตารางด้านล่างอธิบายรูปแบบทั่วไปบางรูปแบบที่ใช้ในฟังก์ชัน TRY_CONVERT
รูปแบบปี
(ปป) รูปแบบปี
(ปปปป) แสดงข้อมูล 0 100 เดือน dd yyyy hh:miAM / PM (ค่าเริ่มต้น) 1 101 mm / dd / yyyy (มาตรฐานของสหรัฐอเมริกา) 2 102 yy.mm.dd (มาตรฐาน ANSI) 3 103 dd / mm / yy ( มาตรฐานอังกฤษ / ฝรั่งเศส 4 104 dd .mm.yy (มาตรฐานเยอรมัน) 5 105 dd-mm-yy (มาตรฐานอิตาลี) 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-ddyy (มาตรฐานสหรัฐอเมริกา) 11 111 yy / mm / dd (มาตรฐานญี่ปุ่น) 12 112 yymmdd (มาตรฐาน ISO) 13 113 dd จันทร์ yyyy hh:mi:ss:mmm (มาตรฐานยุโรป - นาฬิกา 24 ชั่วโมง) 14 114 hh:mi:ss:mmm (นาฬิกา 24 ชั่วโมง) 20 120 yyyy-mm-dd hh:mi:ss (ODBC canonical - 24 hour clock) 21 121 yyyy-mm-dd hh :mi:ss:mmm (มาตรฐาน ODBC - นาฬิกา 24 ชั่วโมง) 126 yyyy-mm-ddThh:mi:ss:mmm (มาตรฐาน ISO8601) 127 yyyy-mm-ddThh:mi:ss:mmmZ (มาตรฐาน ISO8601) 130 dd y yyyy hh:mi:ss:mmmAM / PM ( มาตรฐานฮิจเราะห์) 131 dd / mm / yy hh:mi:ss:mmmAM / PM (มาตรฐานฮิจเราะห์)

หมายเหตุ :

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

ตัวอย่าง

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

 SELECT TRY_CONVERT(int, 14.85); 
Result: 14
(kết quả là một giá trị int bị cắt phần thập phân)


SELECT TRY_CONVERT(float, 14.85);
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_CONVERT(float, '14 Main St.');
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_CONVERT(varchar, 15.6);
Result: '15.6'
(kết quả được trả về dưới dạng varchar)


SELECT TRY_CONVERT(varchar(2), 15.6);
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_CONVERT(datetime, '2018-09-13');
Result: '2018-09-13 00:00:00.000'
(kết quả được trả về dưới dạng datetime)


SELECT TRY_CONVERT(varchar, '2018-09-13', 101);
Result: '09/13/2018'
(kết quả được trả về dưới dạng varchar với kiểu 101 - mm/dd/yyyy (tiêu chuẩn Hoa Kỳ))