Toán tử BETWEEN được bao gồm.
Từ Sách Trực tuyến:
GIỮA trả về TRUE nếu giá trị củatest_expression lớn hơn giá trị của begin_expressionaiona và nhỏ hơn hoặc bằng giá trị củaend_expression.
Báo trước DateTime
NB:Với DateTimes, bạn phải cẩn thận; nếu chỉ đưa ra một ngày thì giá trị được tính là nửa đêm của ngày đó; để tránh bỏ lỡ thời gian trong ngày kết thúc của bạn hoặc lặp lại việc thu thập dữ liệu của ngày hôm sau vào lúc nửa đêm trong nhiều phạm vi, ngày kết thúc của bạn phải là 3 mili giây trước nửa đêm của ngày sau ngày của bạn. 3 mili giây vì bất kỳ nhỏ hơn giá trị này và giá trị sẽ được làm tròn đến nửa đêm ngày hôm sau.
ví dụ. để nhận được tất cả các giá trị trong tháng 6 năm 2016, bạn cần chạy:
where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
tức là
where myDateTime between '20160601 00:00:00.000' and '20160630 23:59:59.997'
datetime2 và datetimeoffset
Trừ 3 mili giây cho một ngày sẽ khiến bạn dễ bị thiếu hàng trong cửa sổ 3 mili giây. Giải pháp đúng cũng là giải pháp đơn giản nhất:
where myDateTime >= '20160601' AND myDateTime < '20160701'