Bài viết này sẽ hướng dẫn chi tiết cách sử dụng hàm chuyển đổi kiểu dữ liệu TRY_CAST trong SQL Server với cú pháp cụ thể và ví dụ để dễ hình dung và nắm bắt hàm.
Mô tả
Hàm TRY_CAST trong SQL Server chuyển biểu thức từ kiểu dữ liệu này sang kiểu khác. Nếu chuyển đổi thất bại, TRY_CAST trả về NULL, ngược lại trả về giá trị chuyển đổi.
Cú pháp
Để dùng TRY_CAST trong SQL Server, ta dùng cú pháp:
TRY_CAST(bieuthuc AS kieudulieu [(do_dai)]) Tham số :
- bieuthuc: giá trị chuyển kiểu, có thể là tên cột hoặc biểu thức tính toán.
- kieudulieu: kiểu dữ liệu mới: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, image.
- do_dai (tùy chọn): độ dài cho char, varchar, nchar, nvarchar, binary, varbinary.
Lưu ý :
- Khi chuyển float/numeric sang int, TRY_CAST cắt phần thập phân.
- Xem thêm CAST, CONVERT, TRY_CONVERT.
- TRY_CAST dùng được trong SQL Server: 2017, 2016, 2014, 2012.
Ví dụ
Xem ví dụ hàm TRY_CAST trong SQL Server.
SELECT TRY_CAST(14.85 AS int);
Kết quả: 14
(kết quả int bị cắt phần thập phân)
SELECT TRY_CAST(14.85 AS float);
Kết quả: 14.85
(kết quả float không bị cắt)
SELECT TRY_CAST('14 Main St.' AS float);
Kết quả: NULL
(NULL vì không chuyển chuỗi thành float được)
SELECT TRY_CAST(15.6 AS varchar);
Kết quả: '15.6'
(kết quả varchar)
SELECT TRY_CAST(15.6 AS varchar(2));
Kết quả: NULL
(NULL do chuyển đổi thất bại - giá trị không phù hợp varchar độ dài 2)
SELECT TRY_CAST('2018-09-13' AS datetime);
Kết quả: '2018-09-13 00:00:00.000'
(kết quả datetime)