Rumah >pangkalan data >Oracle >Bagaimana untuk menanyakan julat masa tertentu dalam oracle

Bagaimana untuk menanyakan julat masa tertentu dalam oracle

WBOY
WBOYasal
2022-01-21 11:58:0544474semak imbas

Dalam Oracle, anda boleh menggunakan "antara dan" untuk menanyakan data dalam julat masa tertentu Sintaksnya ialah "pilih*daripada nama jadual di mana medan antara to_date (masa mula, format masa mula) dan to_date (tamat. masa, format masa akhir)".

Bagaimana untuk menanyakan julat masa tertentu dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Cara untuk menanyakan julat masa tertentu dalam Oracle

Dalam Oracle, jika anda ingin menanyakan julat masa tertentu, anda boleh menggunakan fungsi antara dan dan to_date().

to_date() dan notasi 24 jam dan paparan minit mm:

1. Apabila menggunakan fungsi to_date Oracle untuk penukaran tarikh, ramai pengaturcara Java boleh terus menggunakan Format "yyyy-MM- dd HH:mm:ss" ditukar sebagai format, tetapi ia akan menyebabkan ralat dalam Oracle: "Kod format ORA 01810 muncul dua kali".

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;

Sebabnya ialah SQL tidak sensitif huruf besar-besaran, MM dan mm dianggap kod format yang sama, jadi SQL Oracle menggunakan mi dan bukannya minit.

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

2. Jika anda ingin memaparkannya dalam format 24 jam, gunakan HH24

pilih to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') daripada dual; //mi ialah minit

pilih to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') daripada dual;//mm akan memaparkan bulan Maksud parameter to_date dalam oracle

antara dan dirinya ialah selang tertutup sepenuhnya, termasuk nilai titik akhir.

Nota: Apabila menggunakan to_date untuk penapisan masa, contohnya, 2015-02-28 dikira dari 00:00:00 pada hari tersebut. Oleh itu, jika julat adalah dari 2015-02-28 hingga 2015-03-01, julat masa sebenarnya ditutup di sebelah kiri dan terbuka di sebelah kanan. Data pada hari 2015-03-01 tidak disertakan.

Contoh adalah seperti berikut:

select * from tab where dtcol between to_date('2012-05-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2012-05-31 00:00:00','yyyy-mm-dd hh24:mi:ss')

Tutorial yang disyorkan: "Tutorial Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menanyakan julat masa tertentu dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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