Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Ambil data dalam rentang tanggal di Oracle

Asumsikan FROMDATE/TODATE tipe datanya adalah varchar2 lalu ketika Anda melakukan to_date;

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

Jadi bukan '01-JAN-2080' tapi '01-JAN-0080'

Meskipun FROMDATE/TODATE tipe data adalah date menggunakan to_date bukan ide yang bagus;

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

Keluaran:

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

Masih tahun 0015 bukan 2015 .

Jika tipe data kolom Anda adalah tanggal, gunakan trunc to get the bagian tanggaldon't use to_date`.

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. Menggunakan Oracle's GUID()-generated ID di Grails/Hibernate

  2. Metode Pengumpulan:Prosedur MEMPERPANJANG Dalam Database Oracle

  3. Bagaimana layanan yang berbeda di Oracle SOA berhubungan satu sama lain?

  4. Tabel Sementara Global

  5. regexp_substr melompati posisi kosong