Hàm DATEADD trong SQL Server

1648 lượt xem

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.Bài viết này được đăng tại greensql.net, không được copy dưới mọi hình thức.

2. Cú pháp

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

?1DATEADD( 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ị

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

‒‒:‒‒/‒‒:‒‒ Skip
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ụ

?1234567891011121314151617181920212223SELECT 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’

SyntaxHighlighter.config.stripBrs = false; SyntaxHighlighter.config.tagName = “pre”; SyntaxHighlighter.defaults[“gutter”] = true; SyntaxHighlighter.all();