Rumah > pangkalan data > tutorial mysql > Apakah Format Tarikh Lalai Sebenar dalam Oracle dan Bagaimana Ia Berfungsi?

Apakah Format Tarikh Lalai Sebenar dalam Oracle dan Bagaimana Ia Berfungsi?

Barbara Streisand
Lepaskan: 2025-01-16 16:53:11
asal
1007 orang telah melayarinya

Kebenaran tentang format tarikh pangkalan data Oracle dan mekanisme pengendaliannya

Banyak artikel mendakwa bahawa format tarikh lalai Oracle ialah YYYYMMDD, DD/MM/YYYY atau YYYY-MM-DD. Walau bagaimanapun, salah faham ini berpunca daripada fakta bahawa Oracle sendiri tidak mempunyai format tarikh yang telah ditetapkan. Oracle secara dalaman menyimpan tarikh sebagai nilai binari yang mewakili tahun, bulan, hari, jam, minit dan saat.

Apabila memasukkan tarikh ke dalam Oracle menggunakan rentetan seperti '25-JAN-18', Oracle cuba menukar rentetan kepada tarikh berdasarkan parameter sesi NLS_DATE_FORMAT. Nilai NLS_DATE_FORMAT akan berbeza-beza berdasarkan tetapan rantau dan sesi pengguna. Oleh itu, format tarikh yang sah boleh berbeza-beza antara pengguna dan boleh berubah secara dinamik dalam sesi.

Penukaran rentetan ke tarikh

Untuk mengelakkan bergantung pada penukaran tersirat, adalah disyorkan untuk menukar rentetan secara eksplisit kepada tarikh menggunakan salah satu kaedah berikut:

  • Tersurat tarikh: Gunakan kata kunci DATE diikuti dengan perwakilan tarikh yang sah, seperti TARIKH '2018-01-25'.
  • Cap masa literal: Gunakan kata kunci TIMESTAMP diikuti dengan masa tarikh lengkap, termasuk masa dan saat pecahan, contohnya TIMESTAMP '2018-01-25 01:23:45'.
  • Fungsi TO_DATE: Gunakan TO_DATE('date_string', 'format_string') untuk menukar rentetan kepada tarikh mengikut format yang ditentukan, seperti TO_DATE('25-JUN-18', 'DD -ISNIN- RR').

Tukar NLS_DATE_FORMAT

Untuk menukar parameter sesi NLS_DATE_FORMAT, gunakan pernyataan berikut:

<code class="language-sql">ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';</code>
Salin selepas log masuk

NLS_DATE_FORMAT lalai

NLS_DATE_FORMAT lalai bergantung pada parameter sesi NLS_TERRITORY, yang mencerminkan tempat pengguna. Pertanyaan berikut menunjukkan hubungan antara NLS_TERRITORY dan NLS_DATE_FORMAT:

<code class="language-sql">...
SELECT CAST(f.format AS VARCHAR2(12)) AS format,
       LISTAGG(t.territory, ', ') WITHIN GROUP (ORDER BY t.territory) AS territories
...</code>
Salin selepas log masuk

Menjalankan pertanyaan ini akan menghasilkan senarai nilai NLS_DATE_FORMAT ​​dan kawasan berkenaan yang berkenaan.

What is the True Default Date Format in Oracle and How Does it Work?

Atas ialah kandungan terperinci Apakah Format Tarikh Lalai Sebenar dalam Oracle dan Bagaimana Ia Berfungsi?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan