Bài viết này sẽ hướng dẫn bạn chi tiết cách sử dụng hàm chuyển đổi kiểu dữ liệu CONVERT trong SQL Server với cú pháp và ví dụ cụ thể để hình dung và nắm bắt các hàm tốt hơn.
Mô tả
Chức năng CHUYỂN ĐỔI trong SQL Server cho phép bạn chuyển đổi một biểu thức thành bất kỳ kiểu dữ liệu mong muốn nào nhưng có thể theo một định dạng nhất định (đặc biệt là đối với kiểu dữ liệu ngày tháng). Nếu chuyển đổi không thành công, CONVERT sẽ báo lỗi, ngược lại sẽ trả về giá trị chuyển đổi tương ứng.
Cú pháp
Để sử dụng hàm CONVERT trong SQL Server, chúng ta sử dụng cú pháp sau:
CONVERT (kieudulieu (do_dai), bieuthuc, dinh_dang)
Thông số :
- kieudulieu: tên kiểu dữ liệu mới mà biểu thức sẽ được chuyển đổi. Có thể là một trong các mã sau:bigint, int, smallint, tinyint, bit, decimal, số, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary hoặc image.
- do_dai (tùy chọn):độ dài kiểu dữ liệu cho kết quả của char, varchar, nchar, nvarchar, binary và varbinary.
- bieuthuc: giá trị để chuyển đổi sang kiểu dữ liệu khác, cũng có thể là tên của cột trong bảng hoặc biểu thức tính toán cần được chuyển đổi sang kiểu dữ liệu mới.
- dinh_dang (tùy chọn):là số chỉ định dạng chuyển đổi dữ liệu từ dạng ngày sang dạng chuỗi. Bảng dưới đây mô tả một số định dạng phổ biến được sử dụng trong CONVERT.
(yy) Định dạng năm
(yyyy) Hiển thị dữ liệu 0 100 mon dd yyyy hh:miAM / PM (Mặc định) 1 101 mm / dd / yyyy (tiêu chuẩn Hoa Kỳ) 2 102 yy.mm.dd (tiêu chuẩn ANSI) 3 103 dd / mm / yy (tiêu chuẩn Anh / Pháp 4 104 dd .mm.yy (tiêu chuẩn Đức) 5 105 dd-mm-yy (tiêu chuẩn Ý) 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 (tiêu chuẩn Hoa Kỳ) 11 111 yy / mm / dd (tiêu chuẩn Nhật Bản) 12 112 yymmdd (tiêu chuẩn ISO) 13 113 dd mon yyyy hh:mi:ss:mmm (tiêu chuẩn Châu Âu - đồng hồ 24 giờ) 14 114 hh:mi:ss:mmm (24 giờ đồng hồ) 20 120 yyyy-mm-dd hh:mi:ss (ODBC canonical - đồng hồ 24 giờ) 21 121 yyyy-mm-dd hh:mi:ss:mmm (ODBC canonical - Đồng hồ 24 giờ) 126 yyyy-mm-ddThh:mi:ss:mmm (tiêu chuẩn ISO8601) 127 yyyy-mm-ddThh:mi:ss:mmmZ (tiêu chuẩn ISO8601) 130 dd y yyyy hh:mi:ss:mmmAM / PM ( Tiêu chuẩn Hijri) 131 dd / mm / yy hh:mi:ss:mmmAM / PM (Tiêu chuẩn Hijri)
Lưu ý :
- Khi chuyển đổi kiểu dữ liệu float hoặc số thành số nguyên, CONVERT sẽ cắt phần thập phân phía sau.
- Xem thêm các hàm CAST và TRY_CAST, TRY_CONVERT.
- CONVERT có thể được sử dụng trong các phiên bản SQL Server mới hơn:SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008 và SQL Server 2005.
Ví dụ
Hãy xem và khám phá một số ví dụ về hàm CHUYỂN ĐỔI trong SQL Server.
SELECT CONVERT(int, 14.85);
Result: 14 (kết quả cắt phần thập phân phía sau)
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'