Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membandingkan Tarikh dengan betul dalam Oracle SQL?

Bagaimana untuk Membandingkan Tarikh dengan betul dalam Oracle SQL?

DDD
Lepaskan: 2025-01-17 10:36:14
asal
405 orang telah melayarinya

How to Correctly Compare Dates in Oracle SQL?

Bandingkan Tarikh dalam Oracle SQL

Apabila membandingkan tarikh dalam Oracle SQL, adalah penting untuk memastikan bahawa format tarikh adalah betul. Secara lalai, Oracle mentafsir tarikh sebagai nombor, yang boleh menyebabkan ralat jika tidak dikendalikan dengan betul.

Masalah biasa ialah menggunakan rentetan untuk mewakili tarikh. Rentetan (mis. '31-DEC-95') tidak diiktiraf sebagai tarikh yang sah dan akan mencetuskan ralat "pengecam tidak sah". Untuk menyelesaikan isu ini, gunakan literal tarikh atau fungsi TO_DATE() untuk menukar rentetan kepada tarikh.

Gunakan TO_DATE()

Fungsi

TO_DATE() membolehkan anda menentukan format rentetan tarikh dan menukarnya kepada jenis data tarikh. Contohnya:

<code class="language-sql">select employee_id
  from employee
 where employee_date_hired > to_date('31-12-1995','DD-MM-YYYY')</code>
Salin selepas log masuk

Pertanyaan ini menukar rentetan '31-12-1995' kepada tarikh menggunakan format 'DD-MM-YYYY' dan membandingkannya dengan lajur employee_date_hired.

Gunakan teks tarikh

Tersurat tarikh ialah cara lain untuk menentukan tarikh dalam Oracle SQL. Ia ditulis dalam format 'YYYY-MM-DD' dan tidak mengandungi unsur masa. Contohnya:

<code class="language-sql">select employee_id
  from employee
 where employee_date_hired > date '1995-12-31'</code>
Salin selepas log masuk

Pertanyaan ini membandingkan lajur pekerja_tarikh_kerja dengan tarikh literal '1995-12-31' (mewakili 31 Disember 1995).

Masa pemprosesan dan tempat

Tarikh Oracle mengandungi komponen masa, jadi pastikan anda mempertimbangkan elemen masa jika anda perlu membuat perbandingan yang tepat. Selain itu, format tarikh mungkin berbeza-beza bergantung pada tetapan NLS_DATE_FORMAT dan NLS_DATE_LANGUAGE. Jika anda perlu memastikan pengendalian tarikh yang konsisten merentas tempat, gunakan format YYYY-MM-DD dan tetapkan NLS_DATE_FORMAT dan NLS_DATE_LANGUAGE dengan sewajarnya.

Kira oleh pekerja

Untuk mengira bilangan pekerja yang diambil selepas tarikh tertentu dan mengumpulkan keputusan mengikut ID pekerja, anda boleh menggunakan pertanyaan berikut:

<code class="language-sql">select employee_id, count(*)
  from employee
 where employee_date_hired > date '1995-12-31'
 group by employee_id</code>
Salin selepas log masuk

Pertanyaan ini memberikan bilangan pekerja yang diambil bekerja selepas 31 Disember 1995, dikumpulkan mengikut ID pekerja mereka.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dengan betul dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan