MS SQL eğitimlerimize Between deyimiyle devam ediyoruz.
Bazen yaptığımız aramalar bir aralık içinde gerçekleşir. Bu durumu da bildiğimiz yollardan halledebiliriz. Öncelikle onu görelim.
XENONBOX veritabanında ORDERS tablosunda birkaç sorgulama yapalım.
İlk olarak CUSTOMERID değeri 65 ile 70 arasında olan değerleri sorgulayalım.
SELECT * FROM ORDERS WHERE CUSTOMERID>65 AND CUSTOMERID<70
8 | 2012-07-12 00:00:00.000 | 542385 | 249050.00 | 68 |
34 | 2012-08-14 00:00:00.000 | 542411 | 8650.00 | 69 |
35 | 2012-08-15 00:00:00.000 | 542412 | 15540.00 | 69 |
40 | 2012-08-22 00:00:00.000 | 542417 | 92400.00 | 67 |
41 | 2012-08-23 00:00:00.000 | 542418 | 8900.00 | 66 |
52 | 2012-09-06 00:00:00.000 | 542429 | 34950.00 | 67 |
59 | 2012-09-16 00:00:00.000 | 542436 | 49850.00 | 69 |
172 | 2013-01-20 00:00:00.000 | 542549 | 220800.00 | 68 |
181 | 2013-01-28 00:00:00.000 | 542558 | 19200.00 | 66 |
196 | 2013-02-12 00:00:00.000 | 542573 | 53760.00 | 66 |
200 | 2013-02-14 00:00:00.000 | 542577 | 91440.00 | 67 |
Şimdi birde Sipariş numaralarının 2012 7. ay dan büyük 2013 1. aydan küçükleri çekelim.
SELECT * FROM ORDERS WHERE ORDERDATE<'01.01.2013' AND ORDERDATE>'01.07.2012'
1 | 2012-07-04 00:00:00.000 | 542378 | 44000.00 | 85 |
2 | 2012-07-05 00:00:00.000 | 542379 | 186340.00 | 79 |
3 | 2012-07-08 00:00:00.000 | 542380 | 181300.00 | 34 |
4 | 2012-07-08 00:00:00.000 | 542381 | 67080.00 | 84 |
5 | 2012-07-09 00:00:00.000 | 542382 | 373000.00 | 76 |
6 | 2012-07-10 00:00:00.000 | 542383 | 144480.00 | 34 |
7 | 2012-07-11 00:00:00.000 | 542384 | 62520.00 | 14 |
8 | 2012-07-12 00:00:00.000 | 542385 | 249050.00 | 68 |
9 | 2012-07-15 00:00:00.000 | 542386 | 51780.00 | 88 |
10 | 2012-07-16 00:00:00.000 | 542387 | 111990.00 | 35 |
11 | 2012-07-17 00:00:00.000 | 542388 | 201860.00 | 20 |
Şimdi gelin bunu Between deyimiyle nasıl daha kolay yapabiliriz ona bakalım.
Between Kullanımı
SELECT * FROM [TABLOİSMİ] WHERE KOLON_İSMİ BETWEEN DEĞER1 AND DEĞER2
Yukarıdaki örneklerimizi birde Between ile yapalım. Between ingilizce olarak arasında demektir.
SELECT * FROM ORDERS WHERE CUSTOMERID BETWEEN 65 AND 70
8 | 2012-07-12 00:00:00.000 | 542385 | 249050.00 | 68 |
15 | 2012-07-22 00:00:00.000 | 542392 | 62480.00 | 65 |
25 | 2012-08-02 00:00:00.000 | 542402 | 145600.00 | 65 |
34 | 2012-08-14 00:00:00.000 | 542411 | 8650.00 | 69 |
35 | 2012-08-15 00:00:00.000 | 542412 | 15540.00 | 69 |
40 | 2012-08-22 00:00:00.000 | 542417 | 92400.00 | 67 |
41 | 2012-08-23 00:00:00.000 | 542418 | 8900.00 | 66 |
47 | 2012-08-30 00:00:00.000 | 542424 | 188760.00 | 65 |
52 | 2012-09-06 00:00:00.000 | 542429 | 34950.00 | 67 |
59 | 2012-09-16 00:00:00.000 | 542436 | 49850.00 | 69 |
67 | 2012-09-25 00:00:00.000 | 542444 | 232700.00 | 65 |
Birde tarih aralığını sorgulatalım.
SELECT * FROM ORDERS WHERE ORDERDATE BETWEEN '01.07.2012' AND '01.01.2013'
1 | 2012-07-04 00:00:00.000 | 542378 | 44000.00 | 85 |
2 | 2012-07-05 00:00:00.000 | 542379 | 186340.00 | 79 |
3 | 2012-07-08 00:00:00.000 | 542380 | 181300.00 | 34 |
4 | 2012-07-08 00:00:00.000 | 542381 | 67080.00 | 84 |
5 | 2012-07-09 00:00:00.000 | 542382 | 373000.00 | 76 |
6 | 2012-07-10 00:00:00.000 | 542383 | 144480.00 | 34 |
7 | 2012-07-11 00:00:00.000 | 542384 | 62520.00 | 14 |
8 | 2012-07-12 00:00:00.000 | 542385 | 249050.00 | 68 |
9 | 2012-07-15 00:00:00.000 | 542386 | 51780.00 | 88 |
10 | 2012-07-16 00:00:00.000 | 542387 | 111990.00 | 35 |
11 | 2012-07-17 00:00:00.000 | 542388 | 201860.00 | 20 |
İşte SQL de arasında ifadesi olan Between kullanımı böyleydi.
Bir sonraki yazımda görüşmek üzere.