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();