Hàm DATEADD trong SQL Server


Trong bài này mình sẽ hướng dẫn cách sử dụng hàm DATEADD trong SQL Server thông qua cú pháp và ví dụ thực tế.

1. Mô tả

Hàm DATEADD trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã được thêm vào.

2. Cú pháp

Cú pháp của hàm DATEADD trong SQL Server (Transact-SQL) là:

DATEADD( interval, number, date )

Trong đó:

  • interval: Khoảng thời gian/ngày mà bạn muốn thêm. Nó có thể là một trong những giá trị sau:
Giá trị Giải thích
year, yyyy, yy Khoảng thời gian năm
quarter, qq, q Khoảng thời gian quý
month, mm, m Khoảng thời gian tháng
dayofyear Ngày trong năm
day, dy, y Khoảng thời gian trong ngày
week, ww, wk Khoảng thời gian trong tuần
weekday, dw, w Khoảng thời gian các ngày trong tuần
hour, hh Khoảng thời gian giờ
minute, mi, n Khoảng thời gian phút
second, ss, s Khoảng thời gian giây
millisecond, ms Khoảng thời gian micro giây
  • number: Số lượng khoảng thời gian mà bạn muốn thêm.
  • date: Ngày mà khoảng thời gian được thêm vào.

Lưu ý:

  • Nếu bạn chỉ định một giá trị dương cho tham số number, hàm DATEADD sẽ thêm khoảng thời gian vào ngày.
  • Nếu bạn chỉ định một giá trị âm cho tham số number, hàm DATEADD sẽ trừ khoảng từ ngày.
  • Nếu bạn chỉ định giá trị thập phân cho tham số number, hàm DATEADD sẽ chỉ sử dụng phần nguyên của số (và loại bỏ phần thập phân).

3. Version

Hàm DATEADD có thể được sử dụng trong các phiên bản sau của SQL Server (Transact-SQL):

  • SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

4. Ví dụ

SELECT DATEADD(year, 3, '2019/04/06');
Ket qua: '06.04.2022 00:00:00'

SELECT DATEADD(yyyy, 4, '2019/04/06');
Ket qua: '06.04.2023 00:00:00'

SELECT DATEADD(yy, 9, '2019/04/06');
Ket qua: '06.04.2028 00:00:00'

SELECT DATEADD(year, -2, '2019/04/06');
Ket qua: '06.04.2017 00:00:00'

SELECT DATEADD(month, 8, '2019/04/06');
Ket qua: '06.12.2019 00:00:00'

SELECT DATEADD(month, -6, '2019/04/06');
Ket qua: '06.10.2018 00:00:00'

SELECT DATEADD(day, 4, '2019/04/06');
Ket qua: '10.04.2019 00:00:00'

SELECT DATEADD(day, -5, '2019/04/06');
Ket qua: '01.04.2019 00:00:00'

 

Nguồn: freetuts.net