Rumah > Artikel > pangkalan data > Bagaimana untuk menanyakan format masa dalam oracle
Dalam Oracle, anda boleh menggunakan pernyataan "select sysdate from dual;" untuk menanyakan format masa Penyataan pilih boleh melakukan pertanyaan mudah pada data ini.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
1. , tanpa mengira masa yang dipaparkan oleh pertanyaan. Masa yang disimpan termasuk tahun, bulan, hari, jam, minit dan saat Ketepatan minimum ialah saat. Oleh itu, anda harus memberi perhatian kepada perkara ini apabila beberapa program bahagian hadapan yang menyokong tahap milisaat (seperti program klien PB) menyambung ke pangkalan data Oracle. Format masa yang dipaparkan semasa pertanyaan ditentukan oleh persekitaran sesi atau ditakrifkan oleh pengguna, dan tiada kaitan dengan pangkalan data
Format paparan masa Oracle
Biasanya, pelanggan dan pangkalan data Selepas sambungan diwujudkan, Oracle akan memberikan borang paparan data format masa lalai, yang berkaitan dengan set aksara yang digunakan. Secara amnya, tahun, bulan dan hari dipaparkan bukannya jam, minit dan saat. Contohnya, apabila menggunakan set aksara us7ascii (atau set aksara Inggeris lain), format masa lalai dipaparkan sebagai: 28-Jan-2003, dan apabila menggunakan set aksara zhs16gbk (atau set aksara Cina lain), format masa lalai dipaparkan sebagai: :2003-Januari-28. Apabila memasukkan data ke dalam jadual, jika anda tidak menggunakan fungsi penukaran, format medan masa mesti mematuhi format masa persekitaran sesi, jika tidak, pemasukan tidak boleh dilakukan. Untuk melihat format masa sesi semasa, anda boleh menggunakan pernyataan SQL berikut:
3 Sisipkan data format masa ke dalam jadual oracleSQL> select sysdate from dual;
Sisipkan ke dalam jadual oracle Data dalam format masa adalah perkara yang agak menyusahkan sama ada anda menulis nilai masa anda dengan ketat mengikut format masa sesi semasa, atau anda menggunakan fungsi penukaran untuk menyesuaikan format data masa. Terdapat dua fungsi penukaran berkaitan masa: to_char dan to_date. Fungsi to_char (nilai masa, format masa) menukar nilai masa ke dalam bentuk rentetan, biasanya digunakan dalam pertanyaan to_date (rentetan, format masa) menukar rentetan format kepada nilai masa, biasanya digunakan dalam penyata sisipan
4 Cara mengubah suai format tarikh dalam sesiDikatakan terdapat tiga cara untuk mengubah suai format tarikh dalam sesi semasa Saya hanya mencuba dua kaedah pertama , mengubah suai glogin.sql Saya belum mencuba kaedah fail, jadi saya tidak tahu sama ada ia benar-benar berkesan. Terangkan satu persatu di bawah.
(1) Ubah suai format tarikh sesi semasa dalam sql*plus
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; format sesi semasa Format masa diubah suai kepada format ini: 2003-01-28 15:23:38, iaitu empat digit tahun - dua digit bulan - dua digit hari, ruang, jam: minit: saat dalam sistem 24 jam.
Kaedah pengubahsuaian ini hanya sah untuk sesi semasa. Ambil perhatian bahawa ini adalah untuk sesi semasa, bukan tetingkap sql*plus semasa. Iaitu, jika anda mengubah suai
seperti ini dan kemudian menggunakan arahan connect untuk menyambung ke pangkalan data dengan pengguna lain atau menyambung ke pangkalan data lain, format tarikh akan menjadi tidak sah dan kembali ke format tarikh lalai.
(2) Ubah suai pendaftaran (hanya untuk sistem Windows)
Tambah rentetan (versi 8i) pada kunci utama hkey_local_machinesoftwareoraclehome0 dalam registri Nama rentetan ialah nls_date_format, dan nilainya daripada rentetan ialah Format masa yang anda ingin tentukan, seperti: yyyy-mm-dd hh24:mi:ss, kemudian mulakan semula sql*plus.
Kaedah pengubahsuaian ini sah untuk tetingkap sql*plus, iaitu, tidak kira berapa banyak tetingkap sql*plus yang anda buka, format kali ini akan menjadi lalai. Mengubah suai pendaftaran sebelah pelayan adalah tidak sah Hanya mengubah suai pendaftaran sebelah pelanggan yang berkesan.
(3) Ubah suai fail glogin.sql dalam direktori $oracle_homesqlplusadmin
Saya belum mencuba kaedah ini dan tidak berani menyebutnya secara rawak, supaya tidak mengelirukan semua orang. Tolong beri saya nasihat daripada pakar yang tahu kaedah ini.
5 Keutamaan format tarikhJika dalam persekitaran tertentu, kedua-dua registri dan sesi semasa diubah suai menggunakan arahan alter session, maka kaedah pengubahsuaian yang manakah berfungsi? Arahan alter session adalah sah dan mempunyai keutamaan tertinggi. Iaitu, tidak kira apa persekitaran klien semasa atau bagaimana pendaftaran telah diubah suai, selagi anda menggunakan arahan alter session untuk mengubah suai format masa, maka format masa anda yang diubah suai akan dibenarkan. Oleh itu, jika anda terus menggunakan pertanyaan interaktif sql*plus atau memasukkan data format masa, kedua-dua kaedah boleh digunakan. Jika anda menggunakan fail SQL untuk penyisipan kelompok atau pelaksanaan berjadual, sebaiknya gunakan perintah alter session untuk mengubah suai sesi sebelum menggunakan data masa untuk memastikan bahawa operasi normal pernyataan SQL ini tiada kaitan dengan persekitaran. Begitu juga, jika program klien bahagian hadapan perlu menggunakan data dalam format masa, sebaiknya ubah suai sesi sebelum digunakan, atau gunakan fungsi to_char atau to_date untuk menukar (penggunaan fungsi penukaran amat disyorkan) untuk memastikan bahawa program berjalan mengikut persekitaran Tiada apa-apa yang perlu dilakukan.
Ringkasan:Pangkalan data Oracle mentakrifkan banyak fungsi untuk data jenis masa, terutamanya untuk pengiraan data masa, yang sememangnya sangat mudah, premis kemudahannya ialah anda sudah biasa dengan fungsi masa Oracle. Di sini saya kadang-kadang melihat beberapa orang menggunakan medan jenis rentetan semasa menyimpan data jenis masa Saya sangat menentang pendekatan ini, sama ada dari perspektif overhed sistem, pengiraan data masa atau pengambilan data masa tertentu dalam ini data, seperti mendapatkan bulan dalam masa, mendapatkan minggu dalam masa, dsb., tidak semudah menyimpannya secara langsung seperti data jenis masa. Selagi anda biasa dengan fungsi masa Oracle, saya percaya semua orang akan menyukai data jenis masa Oracle Ia sangat fleksibel dan berkuasa Anda boleh melakukan hampir semua yang anda boleh fikirkan tentang masa - ia bergantung pada pemahaman anda tentang masa Oracle daripada fungsi
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Bagaimana untuk menanyakan format masa dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!