Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Pobierz dane w zakresie dat w Oracle

Załóżmy, że FROMDATE/TODATE typ danych to varchar2 potem kiedy zrobisz to_date;

select to_date('01-JAN-80','dd-mon-yyyy') from dual;
OutPut: January, 01 0080 00:00:00

Więc nie będzie to '01-JAN-2080' ale '01-JAN-0080'

Nawet jeśli FROMDATE/TODATE typ danych to date używanie to_date nie jest dobrym pomysłem;

create table t(c date);
insert into t select sysdate from dual;
select c, to_date(c,'dd-mon-yyyy') from t;

Wyjście:

C                           TO_DATE(C,'DD-MON-YYYY')
August, 25 2015 10:55:36    August, 25 0015 00:00:00

Jednak rok to 0015 nie 2015 .

Jeśli typem danych kolumny jest data, użyj trunc to get the część datydon't use do_data`.

select * 
from tbldeptdivision
where deptid=21
and trunc(sysdate) between trunc(fromdate) 
and trunc(todate)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak skrócić czas wykonywania zapytań dla tabeli z dużą ilością danych?

  2. Jak mogę przechowywać duże ilości danych z bazy danych do XML (problem z pamięcią)?

  3. Przekaż wartość przechowywaną w zmiennej PL/SQL do klauzuli IN

  4. SPRAWDŹ ograniczenie daty urodzenia?

  5. DBMS_METADATA i inne pakiety są nieprawidłowe