Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL Server

Hàm CONVERT trong SQL Server

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 CONVERT 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 CONVERT trong SQL Server cho phép chuyển biểu thức sang kiểu dữ liệu mong muốn nhưng có thể theo định dạng nhất định (đặc biệt cho kiểu date). Nếu chuyển đổi thất bại, CONVERT báo lỗi, ngược lại trả về giá trị chuyển đổi tương ứng.

Cú pháp

Để dùng hàm CONVERT trong SQL Server, ta dùng cú pháp sau:

 CONVERT (kieudulieu (do_dai), bieuthuc, dinh_dang) 

Tham số :

  1. kieudulieu: tên kiểu dữ liệu mới mà biểu thức sẽ chuyển sang. Có thể là: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, image.
  2. do_dai (tùy chọn): độ dài kiểu dữ liệu cho kết quả char, varchar, nchar, nvarchar, binary, varbinary.
  3. bieuthuc: giá trị chuyển sang kiểu khác, cũng có thể là tên cột hoặc biểu thức tính toán cần chuyển kiểu.
  4. dinh_dang (tùy chọn): số chỉ định định dạng chuyển dữ liệu từ date sang chuỗi. Bảng dưới mô tả các định dạng thường dùng trong CONVERT.

Bảng định dạng ngày (Year format)

(yy) - năm 2 chữ số; (yyyy) - năm 4 chữ số

StyleFormatHiển thị
0/100mon dd yyyy hh:miAM/PMMặc định
1/101mm/dd/yyyyTiêu chuẩn US
2/102yy.mm.ddTiêu chuẩn ANSI
3/103dd/mm/yyTiêu chuẩn Anh/Pháp
4/104dd.mm.yyTiêu chuẩn Đức
5/105dd-mm-yyTiêu chuẩn Ý
6/106dd mon yy
7/107Mon dd, yy
8/108hh:mi:ss
9/109mon dd yyyy hh:mi:ss:mmmAM/PM
10/110mm-dd-yyTiêu chuẩn US
11/111yy/mm/ddTiêu chuẩn Nhật
12/112yymmddTiêu chuẩn ISO
13/113dd mon yyyy hh:mi:ss:mmmTiêu chuẩn Châu Âu - 24h
14/114hh:mi:ss:mmmĐồng hồ 24h
20/120yyyy-mm-dd hh:mi:ssODBC canonical - 24h
21/121yyyy-mm-dd hh:mi:ss:mmmODBC canonical - 24h
126yyyy-mm-ddThh:mi:ss:mmmISO8601
127yyyy-mm-ddThh:mi:ss:mmmZISO8601
130dd mon yyyy hh:mi:ss:mmmAM/PMHijri
131dd/mm/yy hh:mi:ss:mmmAM/PMHijri

Lưu ý :

  1. Khi chuyển float/numeric sang int, CONVERT cắt phần thập phân.
  2. Xem thêm CAST, TRY_CAST, TRY_CONVERT.
  3. CONVERT dùng được trong SQL Server: 2017, 2016, 2014, 2012, 2008 R2, 2008, 2005.

Ví dụ

Xem ví dụ hàm CONVERT trong SQL Server.

SELECT CONVERT(int, 14.85);

Kết quả: 14 (cắt phần thập phân)

SELECT CONVERT(float, 14.85);
Kết quả: 14.85

SELECT CONVERT(varchar, 15.6);
Kết quả: '15.6'

SELECT CONVERT(varchar(4), 15.6);
Kết quả: '15.6'

SELECT CONVERT(float, '15.6');
Kết quả: 15.6

SELECT CONVERT(datetime, '2019-05-02');
Kết quả: '2019-05-02 00:00:00.000'

SELECT CONVERT(varchar, '05/02/2019', 101);
Kết quả: '05/02/2019'