Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
PL/SQL de 'BETWEEN' nasıl çalışır?

Çözüldü 1 Cevaplar 114 Gösterim Veri Tabanı

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')

kapalı

1 cevap

2
En İyi Cevap

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

(586 puan)
seçti