Hàm DATEDIFF trong SQL Server

1923 lượt xem

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm DATEDIFF trong SQL Server thông qua cú pháp và ví dụ thực tế. Bài viết này được đăng tại greensql.net, không được copy dưới mọi hình thức.

1. Mô tả

Hàm DATEDIFF trả về chênh lệch giữa hai giá trị ngày, dựa trên khoảng thời gian được chỉ định.

2. Cú pháp

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

?1DATEDIFF( interval, date1, date2 )

Trong đó:

interval: Khoảng thời gian sử dụng để tính chênh lệch giữa date1 và date2. 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 ngày

week, ww, wk:  Khoảng thời gian tuần

weekday, dw, w: Khoảng thời gian 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

date1, date2: Hai ngày để tính chênh lệch.

3. Version

‒‒:‒‒/‒‒:‒‒ Skip
Hàm DATEDIFF 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ụ

?1234567891011121314151617181920SELECT DATEDIFF(year, ‘2019/04/06’, ‘2015/09/25’);Ket qua: -4

SELECT DATEDIFF(yyyy, ‘2019/04/06’, ‘2022/05/20’);Ket qua: 3

SELECT DATEDIFF(yy, ‘2019/04/06’, ‘2030/03/24’);Ket qua: 11

SELECT DATEDIFF(month, ‘2019/04/06’, ‘2019/02/20’);Ket qua: -2

SELECT DATEDIFF(day, ‘2019/04/06’, ‘2019/04/18’);Ket qua: 12

SELECT DATEDIFF(hour, ‘2019/04/06 05:00’, ‘2019/09/29 12:40’);Ket qua: 4231

SELECT DATEDIFF(minute, ‘2019/04/06 05:00’, ‘2019/01/25 15:45’);Ket qua: -101595

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