Bài viết này sẽ hướng dẫn chi tiết cho bạn 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à những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn.
Mô tả
Hàm CONVERT trong SQL Server cho phép bạn có thể chuyển đổi một biểu thức nào đó sang một kiểu dữ liệu bất kỳ mong muốn nhưng có thể theo một định dạng nào đó (đặc biệt đối với kiểu dữ liệu ngày). Nếu chuyển đổi không thành công, CONVERT sẽ báo lỗi, ngược lại nó sẽ trả về giá trị chuyển đổi tương ứng.
Cú pháp
Để sử dụng hàm CONVERT trong SQL Server, ta dùng cú pháp như sau:
CONVERT(kieudulieu(do_dai), bieuthuc, dinh_dang)
Tham số:
Định dạng năm (yy) | Định dạng năm (yyyy) | Hiển thị dữ liệu |
0 | 100 | mon dd yyyy hh:miAM/PM (Default) |
1 | 101 | mm/dd/yyyy (US standard) |
2 | 102 | yy.mm.dd (ANSI standard) |
3 | 103 | dd/mm/yy (British/French standard) |
4 | 104 | dd.mm.yy (German standard) |
5 | 105 | dd-mm-yy (Italian standard) |
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-dd-yy (USA standard) |
11 | 111 | yy/mm/dd (Japan standard) |
12 | 112 | yymmdd (ISO standard) |
13 | 113 | dd mon yyyy hh:mi:ss:mmm (Europe standard - 24 hour clock) |
14 | 114 | hh:mi:ss:mmm (24 hour clock) |
20 | 120 | yyyy-mm-dd hh:mi:ss (ODBC canonical - 24 hour clock) |
21 | 121 | yyyy-mm-dd hh:mi:ss:mmm (ODBC canonical - 24 hour clock) |
126 | yyyy-mm-ddThh:mi:ss:mmm (ISO8601 standard) | |
127 | yyyy-mm-ddThh:mi:ss:mmmZ (ISO8601 standard) | |
130 | dd mon yyyy hh:mi:ss:mmmAM/PM (Hijri standard) | |
131 | dd/mm/yy hh:mi:ss:mmmAM/PM (Hijri standard) |
Lưu ý:
- Khi chuyển đổi kiểu dữ liệu float hay numeric sang số nguyên int, hàm 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 sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.
Ví dụ
Hãy xem và khám phá một số ví dụ về hàm CONVERT 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'