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

Pilih dari tabel dengan mengetahui hanya tanggal tanpa waktu (ORACLE)

DATE adalah kata kunci yang dicadangkan di Oracle, jadi saya menggunakan nama kolom your_date sebagai gantinya.

Jika Anda memiliki indeks pada your_date , saya akan menggunakan

WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
  AND your_date <  TO_DATE('2010-08-04', 'YYYY-MM-DD')

atau BETWEEN :

WHERE your_date BETWEEN TO_DATE('2010-08-03', 'YYYY-MM-DD')
                    AND TO_DATE('2010-08-03 23:59:59', 'YYYY-MM-DD HH24:MI:SS')

Jika tidak ada indeks atau jika tidak terlalu banyak catatan

WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')

harus cukup. TRUNC tanpa parameter menghapus jam, menit, dan detik dari DATE .

Jika kinerja benar-benar penting, pertimbangkan untuk meletakkan Function Based Index di kolom itu:

CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memanggil fungsi hash Oracle MD5?

  2. Cara memilih semua kolom, dan hitungan (*) dalam kueri yang sama

  3. menggabungkan pembaruan oracle tidak bisa mendapatkan set baris yang stabil

  4. Mengapa Penguncian pesimis saya di JPA dengan Oracle tidak berfungsi

  5. Cara Menghitung Perbedaan Antara Dua Tanggal di PostgreSQL/Oracle