Hàm CONVERT trong SQL Server

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ố:

  • kieudulieu: tên kiểu dữ liệu mới mà biểu thức sẽ được chuyển đổi sang. Có thể là một trong những kiểu như sau: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary hoặc image.
  • do_dai (không bắt buộc): độ 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 một cột trong bảng hoặc một biểu thức tính toán cần chuyển sang kiểu dữ liệu mới.
  • dinh_dang (không bắt buộc): là một con số chỉ định việc định dạng cho việc chuyển đổi dữ liệu từ dạng ngày sang dạng chuỗi. Bảng bên dưới mô tả một số định dạng thường dùng trong hàm CONVERT.
Đị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 CASTTRY_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'

Bài trước: Hàm CAST trong SQL Server

Bài tiếp: Hàm TRY_CAST trong SQL Server

Thứ Năm, 22/08/2019 10:31
52 👨 7.141