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

Permintaan Oracle SQL untuk format Tanggal

to_date() mengembalikan tanggal pada 00:00:00, jadi Anda perlu "menghapus" menit dari tanggal yang Anda bandingkan dengan:

select * 
from table
where trunc(es_date) = TO_DATE('27-APR-12','dd-MON-yy')

Anda mungkin ingin membuat indeks pada trunc(es_date) jika itu adalah sesuatu yang Anda lakukan secara teratur.

'27-APR-12' harfiah bisa gagal dengan sangat mudah jika format tanggal default diubah menjadi sesuatu yang berbeda. Jadi pastikan Anda selalu menggunakan to_date() dengan format mask yang tepat (atau literal ANSI:date '2012-04-27' )

Meskipun Anda melakukannya dengan benar dalam menggunakan to_date() dan tidak bergantung pada konversi tipe data implisit, penggunaan to_date() Anda masih memiliki kendala kecil karena format 'dd-MON-yy' .

Dengan pengaturan bahasa yang berbeda ini mungkin dengan mudah gagal mis. TO_DATE('27-MAY-12','dd-MON-yy') ketika NLS_LANG disetel ke bahasa Jerman. Hindari apa pun dalam format yang mungkin berbeda dalam bahasa yang berbeda. Menggunakan tahun empat digit dan hanya angka mis. 'dd-mm-yyyy' atau 'yyyy-mm-dd'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle (ORA-02270):tidak ada kunci unik atau kunci utama yang cocok untuk kesalahan daftar kolom ini

  2. Pemicu untuk menegakkan hubungan M-M

  3. Mencocokkan grup yang mungkin ada atau mungkin tidak ada

  4. Oracle:Dapatkan kueri untuk selalu mengembalikan tepat satu baris, bahkan ketika tidak ada data yang ditemukan

  5. Performa buruk mendapatkan bidang gumpalan dari Oracle di .Net