Cách sử dụng hàm DATEDIFF (Transact-SQL) để trừ 2 khoảng thời gian trong sql server

Cách sử dụng hàm DATEDIFF (Transact-SQL) để trừ 2 khoảng thời gian trong sql server. Đề tính được số khoảng thời gian ( giờ, phút, giây, ngày, tháng,..) giữ 2 mốc thời gian bạn có thể sử dụng hàm DATEDIFF.


Cú pháp
DATEDIFF ( datepart , startdate , enddate )

Startdata: thời gian bắt đầu, enddata:thời gian kết thúc, là các kiểu dữ liệu time, date, smalldatetime, datetime, datetime2,  datetimeoffset . Trong hàm DATEDIFF chúng ta sẽ lấy enddate trừ cho startdate

Và dateapart như sau

datepart Những chữ viết tắt
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns

Các Ví dụ cách dùng hàm DATEDIFF

SELECT DATEDIFF(year, '2015-12-31 23:59:59.9999999'

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(quarter, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(month, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(dayofyear, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(day, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(week, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(hour, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(minute, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(second, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

SELECT DATEDIFF(millisecond, ‘2015-12-31 23:59:59.9999999’

, ‘2006-01-01 00:00:00.0000000’);

Lưu ý

Việc thiết lập SET DATEFIRST không có tác dụng trên DATEDIFF. DATEDIFF luôn luôn sử dụng ngày Chủ nhật là ngày đầu tiên trong tuần để đảm bảo chức năng là xác định.

Leave a Reply

Your email address will not be published. Required fields are marked *