Sql Between, sql içerisinde sık kullanılan ve işlevsel özelliklerden biridir. Belirlediğiniz karakter aralığı, sayı aralığı ya da tarih aralığında arama işlemi gerçekleştirebilirsiniz.

Sql Between özelliğini özellikle iki tarih arasında arama ihtiyaçları için kullanılmaktadır ama sadece iki tarih aralığı için değil, belirlediğiniz karakter aralığı ya da sayı aralığında da arama işlemi gerçekleştirebilirsiniz.
Örnek bir Sql between syntax’ına göz atalım;
1 2 3 | SELECT kolon_adları FROM tablo_adi WHERE kolon_adı BETWEEN deger1 AND deger2; |
Syntax’a da göz attığıma göre artık örnek kodlarımıza geçebiliriz. Örnek kodlara geçmeden önce bir konuyu belirtmek istiyorum. Tüm paylaştığım örnek sql kodlarını https://dbfiddle.uk/ sitesinde yer alan AdventureWorks örnek veritabanını seçerek çalıştırabilirsiniz.
İlk örneğimiz Production.Product tablosunda yer alan ListPrice kolonundaki değer 5 ile 20 arasında olanları listeleyen bir sorgu yazmak istiyorum. Hemen örnek sorgumuza ve çıktıya göz atalım.
Sayılar Arasında Arama
1 2 3 4 | SELECT Name, ListPrice FROM production.product WHERE ListPrice BETWEEN 5 AND 20; |
Çıktı
Name | ListPrice |
---|---|
Mountain Bike Socks, M | 9.5000 |
Mountain Bike Socks, L | 9.5000 |
AWC Logo Cap | 8.9900 |
Minipump | 19.9900 |
Taillights – Battery-Powered | 13.9900 |
Mountain Bottle Cage | 9.9900 |
Road Bottle Cage | 8.9900 |
Racing Socks, M | 8.9900 |
Racing Socks, L | 8.9900 |
Bike Wash – Dissolver | 7.9500 |
Eğer 5 ile 20 arasında olmayanlar demek isteseydik alttaki gibi BETWEEN başına NOT keyword’ü ekleyerek 5 ile 20 arasında olmayan diğer kayıtların getirilmesini sağladım.
1 2 3 4 | SELECT Name, ListPrice FROM production.product WHERE ListPrice NOT BETWEEN 5 AND 20; |
Name | ListPrice |
---|---|
Adjustable Race | 0.0000 |
Bearing Ball | 0.0000 |
BB Ball Bearing | 0.0000 |
Headset Ball Bearings | 0.0000 |
Blade | 0.0000 |
LL Crankarm | 0.0000 |
ML Crankarm | 0.0000 |
HL Crankarm | 0.0000 |
Chainring Bolts | 0.0000 |
Chainring Nut | 0.0000 |
… 10 rows of 494 |
Text Değerler Arasında Arama
Alttaki sql sorgusunda görebileceğiniz gibi 2 text değer arasında between ile arama işlemi gerçekleştirebiliyoruz.
1 2 3 | SELECT Name FROM production.product WHERE Name BETWEEN 'Adjustable Race' AND 'Chain Stays'; |
Çıktı
Name |
---|
Adjustable Race |
All-Purpose Bike Stand |
AWC Logo Cap |
BB Ball Bearing |
Bearing Ball |
Bike Wash – Dissolver |
Blade |
Cable Lock |
Chain |
Chain Stays |
Daha önce belirttiğimiz not between tanımı aynı şekilde burada da kullanılarak belirttiğiniz text değerler arasında olmayanların listelenmesini sağlayabilirsiniz.
Tarihler Arasında Arama
Alttaki sql sorgusunda görebileceğiniz gibi 2 tarih değeri arasında between ile arama işlemi gerçekleştirebiliyoruz.
1 2 3 | SELECT * FROM production.product WHERE SellStartDate BETWEEN '2008/04/30' AND '2008/05/30'; |
Çıktı
Name | SellStartDate |
---|---|
Adjustable Race | 2008-04-30 00:00:00.000 |
Bearing Ball | 2008-04-30 00:00:00.000 |
BB Ball Bearing | 2008-04-30 00:00:00.000 |
Headset Ball Bearings | 2008-04-30 00:00:00.000 |
Blade | 2008-04-30 00:00:00.000 |
LL Crankarm | 2008-04-30 00:00:00.000 |
ML Crankarm | 2008-04-30 00:00:00.000 |
HL Crankarm | 2008-04-30 00:00:00.000 |
Chainring Bolts | 2008-04-30 00:00:00.000 |
Chainring Nut | 2008-04-30 00:00:00.000 |
… 10 rows of 211 |
Sonuç
Sql Between ile sayı, metin ve tarih türleri arasında nasıl arama işlemi gerçekleştirebileceğimizi örnek kodlarla görmüş olduk.
📚 Kaynaklar
📚 Sql Between Benzeri Makaleler
- SQL ile tabloların listesi nasıl alınır?
- SQL KDV Hesaplama Nasıl Yapılır(%18, Yüzde 18)?
- Sql de Tüm Ayların Son Günlerini Alma
✍ Lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.
🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.
👋 Bir sonraki makalede görüşmek dileğiyle.