Penapisan Tarikh SQL

Penapisan Tarikh Sql



Menapis data berdasarkan nilai tarikh adalah kejadian biasa apabila bekerja dengan pangkalan data. Sebagai contoh, ia boleh membolehkan kami mengambil data daripada rangka masa tertentu, mengagregatkan hasil berdasarkan tarikh tertentu, mengenal pasti corak aliran dari semasa ke semasa dan operasi berkaitan masa yang lain.

Oleh itu, ia merupakan kemahiran penting bagi mana-mana pembangun pangkalan data. SQL menyediakan kami pelbagai alatan untuk menapis tarikh dalam set data yang diberikan.







Sertai kami dalam siaran ini sambil kami meneroka pelbagai kaedah dan teknik yang boleh kami gunakan untuk menapis tarikh dalam dunia SQL.



Prasyarat:

Sebelum kita menyelami contoh dan aplikasi praktikal, mari kita pecahkan perkara yang anda perlukan untuk yang ini.



Dalam siaran ini, kami akan cuba mematuhi kaedah yang boleh digunakan untuk hampir semua pangkalan data SQL. Walau bagaimanapun, untuk tujuan demonstrasi, kami menggunakan MySQL versi 8 dengan pangkalan data sampel Sakila.





Anda, walau bagaimanapun, bebas untuk memuat turun dan menggunakan mana-mana set data yang anda inginkan. Kami pasti akan menunjukkan sama ada kaedah yang disediakan boleh berfungsi dalam pangkalan data lain dan menyediakan alternatif jika ada.

Tapis Tarikh Tertentu

Operasi penapisan tarikh yang paling asas ialah di mana kita perlu mendapatkan semula rekod atau berbilang rekod untuk tarikh tertentu.



Dalam kes sedemikian, kita boleh menggunakan klausa WHERE diikuti dengan lajur tarikh dan nilai tarikh sebenar yang ingin kami dapatkan semula.

Sebagai contoh, katakan kita ingin mengetahui rekod sewaan yang berlaku pada 24 Mei 2005. Kita boleh menjalankan pertanyaan seperti berikut:

PILIH *
DARIPADA sewaan
WHERE tarikh_sewa = '24-05-2005 23:03:39' ;

Dalam kes ini, kami menyediakan tarikh yang ingin kami tapis sebagai nilai cap masa. Ini kerana lajur 'rental_date' menyimpan nilai sebagai cap masa.

Tapis Julat Tarikh

Operasi biasa kedua ialah menapis data berdasarkan julat tarikh tertentu. Sebagai contoh, katakan kami ingin mendapatkan semula sewaan yang berlaku antara Mei 2005 dan Jun 2005.

Kita boleh menjalankan pertanyaan seperti berikut:

PILIH
*
DARI
sewaan
DI MANA
tarikh_sewa ANTARA '2005-04-01 00:00:00' DAN '2005-06-01 00:00:00' ;

Dalam kes ini, kami menggunakan operator AND untuk menggabungkan dua nilai. Klausa WHERE digunakan di mana mana-mana nilai daripada lajur 'tarikh_sewa' mesti berada di antara dua julat.

Contoh output adalah seperti berikut:

Tapis Komponen Tarikh

Dalam kes lain, daripada menggunakan julat tarikh menggunakan nilai literal, kami boleh mengekstrak komponen tarikh tertentu daripada nilai dan penapis berdasarkan itu.

Sebagai contoh, daripada menentukan dari 2005-04-01 dan 2005-06-01, kami boleh mengekstrak bulan Mei dan menapis sebarang data dalam bulan tersebut.

Dalam MySQL, kita boleh menggunakan fungsi seperti fungsi MONTH() untuk mencapai ini seperti yang ditunjukkan dalam contoh berikut:

PILIH
*
DARI
sewaan
DI MANA
BULAN ( tarikh_sewa ) = 5 ;

Dalam kes ini, MONTH(rental_date) mengekstrak bahagian bulan daripada tarikh. Kemudian, kita boleh menggunakan nilai ini untuk menapis di mana nilainya bersamaan dengan 5, Mei.

Kesimpulan

Dalam tutorial ini, kami belajar tentang salah satu tugas paling asas dan biasa dalam SQL di mana kami menapis data berdasarkan nilai tarikh. Kami belajar cara mengekstrak pelbagai komponen daripada tarikh dan menggunakannya untuk menapis tarikh dan banyak lagi.