Khi bạn muốn chuyển dữ liệu từ dữ liệu định dạng ngày kiểu dữ liệu có định dạng khác. Ví dụ khi bạn nhập dữ liệu là kiểu datetime, nó sẽ lưu trữ ở database định dạng ngày+ thời gian. Nhưng bạn chỉ muốn lấy ngày thôi, không muốn lấy thời gian, hoặc ngược lại chỉ bạn muốn nhận được thời gian thôi, bạn sử dụng hàm CONVERT để trả về đúng kiểu định dạng mà bạn mong muốn. Hàm CONVERT có nhiều định dạng và rất phong phú, rất mạnh bạn có thể sử dụng rất nhiều trong các trường hợp chuyển đổi kiểu dữ liệu.

Cú pháp:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

Trọng rằng:

  • data_type: là kiểu dữ liệu
  • length: chiều dài của các loại dữ liệu data_type
  • expression : biểu thức để chuyển đổi
  • style : định dạng để chuyển đổi dữ liệu như kiểu dữ liệu ngày (datetime), tham khảo bảng type bảng dưới đây
Without century (yy) With century (yyyy) Standard Input/Output**
- 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 or 109 (*) Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 or 113 (*) Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 (*) ODBC canonical yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 (*) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces)
- 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM
- 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM

Ví dụ:

SELECT CONVERT (nvarchar(10), getdate(), 103)

=> Kết quả trả về là dd / MM / yyyy