Bir select yazıyorum, belli tarih aralığında üye olanları çekmek için, between kullansak iki uç değeri de dahil etmiş oluyor mu? Çalışması nasıldır? (16.12.15 ile 18.12.15 tarihini de dahil eder mi yani?)
SELECT * FROM customer c
where c.enroll_date BETWEEN to_date(’16/12/2015′,’DD/MM/YYYY’) AND to_date(’18/12/2015′,’DD/MM/YYYY’)
Merhabalar,
Aşağıdaki gibi deneme yaptım. Between uç değerleri de alıyor görünüyor.
SQL> CREATE TABLE T_BETWEEN
2 (
3 ID INTEGER,
4 TARIH DATE
5 );
Table created.
SQL> BEGIN
2 FOR cntr IN 1 .. 5
3 LOOP
4 INSERT INTO t_between
5 VALUES (cntr, (TRUNC (SYSDATE) + cntr));
6 END LOOP;
7
8 COMMIT;
9 END;
10 /
PL/SQL procedure successfully completed.
SQL> SELECT * FROM t_between;
ID TARIH
———- ———-
1 13/01/2016
2 14/01/2016
3 15/01/2016
4 16/01/2016
5 17/01/2016
SQL> SELECT *
2 FROM t_between
3 WHERE TRUNC (TARIH) BETWEEN TO_DATE (’14/01/2016′, ‘DD/MM/YYYY’) AND TO_DATE (’16/01/2016′, ‘DD/MM/YYYY’);
ID TARIH
———- ———-
2 14/01/2016
3 15/01/2016
4 16/01/2016
SQL> SELECT *
2 FROM t_between
3 WHERE TRUNC (TARIH) BETWEEN TO_DATE (’13/01/2016′, ‘DD/MM/YYYY’) AND TO_DATE (’15/01/2016′, ‘DD/MM/YYYY’);
ID TARIH
———- ———-
1 13/01/2016
2 14/01/2016
3 15/01/2016
SQL> SELECT *
2 FROM t_between where id between 1 and 3;
ID TARIH
———- ———-
1 13/01/2016
2 14/01/2016
3 15/01/2016
SQL> SELECT *
2 FROM t_between where id between 2 and 4;
ID TARIH
———- ———-
2 14/01/2016
3 15/01/2016
4 16/01/2016