Pangkalan Data Oracle ialah salah satu peneraju dalam pasaran pangkalan data perusahaan hari ini. Salah satu sebab kuasa dan penggunaannya yang meluas ialah ia menyediakan banyak alat dan pernyataan yang berkuasa untuk membuat pertanyaan dan memanipulasi data. Dalam artikel ini, kami akan menumpukan terutamanya pada pernyataan pertanyaan masa.
Pangkalan data Oracle menyediakan pelbagai jenis jenis data tarikh dan masa, seperti DATE, TIMESTAMP, dan INTERVAL DAY TO SECOND, dsb. Pertanyaan bersyarat tarikh dan masa boleh dilakukan dengan mudah menggunakan jenis data ini. Berikut ialah beberapa pernyataan pertanyaan masa biasa:
Jika anda ingin bertanya data hari ini, anda boleh menggunakan pernyataan pertanyaan berikut:
SELECT * FROM table_name WHERE trunc(date_column) = trunc(sysdate);
Di mana, table_name ialah nama jadual yang akan disoal dan date_column ialah nama lajur yang mengandungi tarikh. Fungsi trunc digunakan untuk memotong bahagian tarikh supaya hanya tarikh dan bukan tarikh masa dibandingkan.
Jika anda ingin bertanya data minggu ini, anda boleh menggunakan pernyataan pertanyaan berikut:
PILIH * DARI table_name DI MANA date_column >= trunc(sysdate, 'W') AND date_column < trunc(sysdate, 'W') + 7;
Parameter kedua bagi fungsi trunc di sini ialah 'W', yang bermaksud untuk kembali semasa Hari pertama dalam minggu (biasanya Ahad). Tambahkan 7 pada nilai ini untuk mendapatkan hari pertama minggu depan. Hasil pertanyaan akan merangkumi semua data dalam julat ini.
Jika anda ingin bertanya data bulan ini, anda boleh menggunakan pernyataan pertanyaan berikut:
PILIH * DARI table_name DI MANA TO_CHAR (date_column, 'YYYY-MM') = TO_CHAR(sysdate, 'YYYY-MM');
Di sini fungsi TO_CHAR digunakan untuk memformat lajur tarikh menjadi tahun dan bulan supaya hanya tahun dan bulan sahaja dibandingkan. Bandingkan dengan tarikh semasa dan anda mendapat semua data untuk bulan semasa.
Jika anda ingin bertanya data minggu atau bulan lepas, anda boleh menggunakan pernyataan pertanyaan berikut:
- -Soal data minggu lepas
SELECT * FROM table_name WHERE date_column >= sysdate - 7;
--Soal data bulan lepas
SELECT * FROM table_name WHERE date_column >= add_months( sysdate, -1);
Pernyataan pertanyaan pertama di sini menggunakan sysdate-7 untuk mendapatkan semua data tujuh hari kembali dari tarikh semasa. Pernyataan pertanyaan kedua menggunakan fungsi add_months untuk mendapatkan semua data dari tarikh semasa hingga bulan sebelumnya.
Ringkasan
Artikel ini memperkenalkan beberapa pernyataan pertanyaan masa biasa dalam pangkalan data Oracle, termasuk data pertanyaan untuk hari semasa, minggu ini, bulan ini dan minggu/bulan terakhir. Kenyataan ini boleh membantu pembangun dan pentadbir pangkalan data dengan cepat menanyakan data yang diperlukan, meningkatkan kecekapan dan produktiviti kerja.
Atas ialah kandungan terperinci Mari kita bincangkan tentang pernyataan pertanyaan masa Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!