Operator ANTARA bersifat inklusif.
Dari Buku Daring:
BETWEEN mengembalikan TRUE jika nilai ekspresi_tes lebih besar dari orequal dengan nilai ekspresi_mulai dan kurang dari atau sama dengan nilai ekspresi_akhir.
Peringatan DateTime
NB:Dengan DateTimes Anda harus berhati-hati; jika hanya tanggal yang diberikan, nilainya diambil pada tengah malam pada hari itu; untuk menghindari waktu yang hilang dalam tanggal akhir Anda, atau pengulangan pengambilan data hari berikutnya pada tengah malam dalam beberapa rentang, tanggal akhir Anda harus 3 milidetik sebelum tengah malam pada hari setelah tanggal Anda. 3 milidetik karena kurang dari ini dan nilainya akan dibulatkan hingga tengah malam pada hari berikutnya.
misalnya untuk mendapatkan semua nilai dalam Juni 2016 Anda harus menjalankan:
where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
yaitu
where myDateTime between '20160601 00:00:00.000' and '20160630 23:59:59.997'
datetime2 dan datetimeoffset
Mengurangi 3 md dari tanggal akan membuat Anda rentan terhadap baris yang hilang dari jendela 3 md. Solusi yang benar juga yang paling sederhana:
where myDateTime >= '20160601' AND myDateTime < '20160701'