SQL Server: Mengenal Operator "BETWEEN" pada SQL Server

Pada artikel, kita akan belajar bagaimana cara menggunakan operator BETWEEN pada SQL Server. 

Operator BETWEEN digunakan dalam kondisi WHERE untuk memfilter record dalam rentang yang ditentukan.

Sintaks:

SELECT kolom11, kolom2,..
FROM tabel
WHERE column BETWEEN nilai_awal AND nilai_akhir

Sebagai contoh kasus kita akan menggunakan tabel item sebagai berikut:


Penggunaan Operator BETWEEN pada Nilai Angka

Pertama kita akan mencoba untuk membuat query dengan operator BETWEEN untuk memfilter nilai angka yaitu harga. Sebagai contoh kita akan menarik data item dengan harga kisaran 5000 sampai 15000.

SELECT * FROM item WHERE pricesell BETWEEN 5000 AND 15000

Hasilnya data yang ditampilkan yang data dengan harga jual antara 5000 sampai 15000 saja.


Penggunaan Operator BETWEEN pada Nilai Tanggal

Selain untuk menyaring kisaran angka, operator BETWEEN juga bisa digunakan untuk menyaring kisaran tanggal. Untuk contoh kali ini kita akan menarik data item yang dibuat di kisaran tanggal 3 Mei 2022 sampai 5 Mei 2022. 

Yang perlu diperhatikan adalah apakah data kita berupa DATETIME atau DATE saja. Karena jika tanggal dicatat lengkap dengan waktunya maka kita perlu melengkapi parameter sampai ke satuan waktunya terutama untuk batas akhir tanggal.

Misalnya kita membuat filter akhir '2022-03-05' maka data dengan nilai '2022-03-05 07:01:48.367' tidak akan masuk kriteria. 

Agar lebih jelas kita buat 2 jenis query BETWEEN dengan tanggal saja dan tanggal yang lengkap dengan waktu.

BETWEEN dengan Nilai Tanggal Saja

SELECT * FROM item WHERE createddate BETWEEN '2022-03-03' AND '2022-03-05'

Hasilnya data di tanggal 5 Mei 2002 tidak ditampilkan, karena semua data di tanggal tersebut memiliki nilai waktu.


BETWEEN dengan Nilai Tanggal dan Waktu

Jika data parameter tanggal akhir ingin ditarik juga maka perlu dilengkapi dengan menitnya. Tentunya kita tidak selalu tau detail waktunya, karena itu ambil waktu maksimal dari tanggal akhir yang bersangkutan ('2022-03-05 23:59:59.999'). 

Sementara waktu awal tentunya kita beri waktu paling awal atau cukup hanya menuliskan tanggalnya saja agar seluruh data di tanggal awal tersebut ikut ditampilkan ('2022-03-03 00:00:00.000' atau '2022-03-03').

SELECT * FROM item WHERE createddate BETWEEN '2022-03-03' AND '2022-03-05 23:59:59.999'

Hasilnya seluruh data berdasarkan createddate dari tanggal 3 Mei 2022 sampai 5 Mei 2022 ditampilkan.


Penggunaan Operator BETWEEN pada Nilai Teks (String)

Meskipun lebih jarang penggunaannya tapi operator BETWEEN juga dapat digunakan untuk memfilter dari sampai (antara) secara urutan alfabet.

Kita akan menjelaskan pengunaannya dengan contoh. Misal kita akan menampilkan itemname dengan huruf awal A sampai F, ini sebenarnya parameter yang kita masukan justru BETWEEN 'A' AND 'G' karena jika menulis BETWEEN 'A' AND 'F', nama item berawalan F tidak akan ditampilkan.

Untuk melihat perbedaannya kita coba saja query dengan dua jenis parameter tersebut.

SELECT * FROM item WHERE itemname BETWEEN 'A' AND 'F'
ORDER BY itemname

Kita menyertakan order by itemname agar terlihat urutan data berdasarkan nama item secara alfabet. Dan ternyata nama item berawalan F tidak ikut ditampilkan.


Sementara dengan query berikut:

SELECT * FROM item WHERE itemname BETWEEN 'A' AND 'G'
ORDER BY itemname

Nama item berawalan F yaitu "FLORIDINA 350ML ORANGE PULPY" ikut tampil.




Post a Comment

0 Comments