Rumah > pangkalan data > Oracle > Bagaimana untuk menukar cap waktu Oracle kepada format datetime yang berbeza

Bagaimana untuk menukar cap waktu Oracle kepada format datetime yang berbeza

PHPz
Lepaskan: 2023-04-18 09:26:55
asal
12087 orang telah melayarinya

Pangkalan data Oracle menggunakan cap masa (cap masa) sebagai jenis tarikh dan masa Apabila menangani isu tarikh dan masa, selalunya perlu menukar cap masa kepada format tarikh dan masa yang boleh dibaca manusia. Dalam artikel ini, kita akan membincangkan cara cap waktu Oracle ditukar kepada format tarikh-masa yang berbeza.

  1. Tukar cap waktu kepada rentetan datetime

Kita boleh menggunakan fungsi terbina dalam Oracle to_char() untuk menukar cap masa kepada rentetan datetime. Parameter pertama fungsi to_char() ialah cap waktu yang perlu ditukar, dan parameter kedua ialah perwakilan rentetan bagi format tarikh dan masa sasaran.

Contohnya, untuk menukar cap masa kepada rentetan masa tarikh dalam format 'YYYY-MM-DD HH24:MI:SS', anda boleh menggunakan kod berikut:

SELECT to_char(TIMESTAMP '2021-08-31 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS datetime_string
FROM dual;
Salin selepas log masuk

Hasilnya sepatutnya Ia kelihatan seperti ini:

DATETIME_STRING
-------------------
2021-08-31 12:00:00
Salin selepas log masuk
  1. Tukar cap waktu kepada masa Unix

Masa Unix bermaksud bermula dari 1 Januari 1970 00:00:00 UTC Nombor beberapa saat sehingga masa yang ditetapkan. Dalam Oracle, kita boleh menukar cap masa kepada masa Unix menggunakan kod berikut:

SELECT (TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') - TIMESTAMP '2021-08-31 12:00:00') * 24 * 60 * 60 AS unix_time
FROM dual;
Salin selepas log masuk

Terangkan kod ini. Pertama, kami menggunakan fungsi TO_TIMESTAMP() untuk menukar rentetan '1970-01-01 00:00:00' kepada jenis cap masa. Kemudian, kami menolak cap masa yang ditentukan daripada cap masa ini (di sini, '2021-08-31 12:00:00') untuk mendapatkan perbezaan masa (tempoh). Akhir sekali, darabkan perbezaan masa ini dengan 24 * 60 * 60, iaitu bilangan saat dalam sehari, untuk mendapatkan masa Unix yang sepadan.

Keluaran kod di atas mestilah integer yang mewakili bilangan saat antara 1 Januari 1970 00:00:00 UTC dan masa yang ditentukan.

  1. Tukar masa Unix kepada cap masa

Jika kita ingin menukar masa Unix kepada cap masa, kita boleh menggunakan kod berikut:

SELECT TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + NUMTODSINTERVAL(1630425600, 'SECOND') AS timestamp
FROM dual;
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi TO_TIMESTAMP() untuk menukar rentetan '1970-01-01 00:00:00' kepada jenis cap masa. Kami kemudian menggunakan fungsi NUMTODSINTERVAL() untuk menukar masa Unix (di sini 1630425600) kepada jenis selang. Akhir sekali, tambah cap masa dan selang masa untuk mendapatkan cap masa yang sepadan dengan masa Unix.

Hasil keluaran mestilah nilai jenis cap waktu, mewakili tarikh dan masa yang sepadan dengan masa Unix.

Ringkasan

Artikel ini memperkenalkan kaedah penukaran cap masa Oracle, yang boleh menukar cap masa kepada format tarikh dan masa yang berbeza. Melalui kaedah ini, kita boleh menangani isu tarikh dan masa dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menukar cap waktu Oracle kepada format datetime yang berbeza. 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