SQL datuma filtrēšana

Sql Datuma Filtresana



Datu filtrēšana, pamatojoties uz datuma vērtību, ir izplatīta parādība, strādājot ar datu bāzēm. Piemēram, tas var ļaut mums iegūt datus no konkrēta laika perioda, apkopot rezultātus, pamatojoties uz noteiktu datumu, noteikt tendenču modeļus laika gaitā un citas ar laiku saistītas darbības.

Tāpēc tā ir svarīga prasme jebkuram datu bāzes izstrādātājam. SQL nodrošina mums dažādus rīkus datumu filtrēšanai noteiktā datu kopā.







Pievienojieties mums šajā ziņā, kad mēs izpētām dažādas metodes un paņēmienus, ko varam izmantot datumu filtrēšanai SQL pasaulē.



Priekšnosacījumi:

Pirms iedziļināmies praktiskajos piemēros un pielietojumos, noskaidrosim, kas jums ir nepieciešams.



Šajā ziņojumā mēs centīsimies ievērot metodes, kuras var attiekties uz gandrīz visām SQL datu bāzēm. Taču demonstrācijas nolūkos mēs izmantojam MySQL 8. versiju ar Sakila paraugu datubāzi.





Tomēr jūs varat brīvi lejupielādēt un izmantot jebkuru datu kopu, kuru vēlaties. Mēs noteikti norādīsim, vai piedāvātā metode var darboties citās datu bāzēs, un nodrošināsim alternatīvu, ja tāda ir.

Filtrējiet noteiktu datumu

Visvienkāršākā datumu filtrēšanas darbība ir tāda, kurā mums ir jāizgūst ieraksts vai vairāki ieraksti konkrētam datumam.



Šādā gadījumā mēs varam izmantot klauzulu WHERE, kam seko datuma kolonna un faktiskā datuma vērtība, kuru vēlamies izgūt.

Piemēram, pieņemsim, ka mēs vēlamies noskaidrot nomas ierakstus, kas notika 2005. gada 24. maijā. Mēs varam izpildīt vaicājumu šādi:

ATLASĪT *
NO nomas
KUR nomas_datums = '2005-05-24 23:03:39' ;

Šajā gadījumā mēs sniedzam datumu, kuru vēlamies filtrēt kā laikspiedola vērtību. Tas ir tāpēc, ka slejā “rental_date” vērtības tiek saglabātas kā laikspiedols.

Filtrējiet datumu diapazonu

Otra izplatītā darbība ir datu filtrēšana, pamatojoties uz noteiktu datumu diapazonu. Piemēram, pieņemsim, ka mēs vēlamies izgūt nomas maksu, kas tika veikta laikā no 2005. gada maija līdz 2005. gada jūnijam.

Mēs varam izpildīt vaicājumu šādi:

ATLASĪT
*
NO
noma
KUR
nomas_datums BETWEEN '2005-04-01 00:00:00' UN '2005-06-01 00:00:00' ;

Šajā gadījumā mēs izmantojam operatoru UN, lai savienotu divas vērtības. Klauzula WHERE tiek izmantota, ja jebkurai vērtībai no kolonnas “rental_date” ir jābūt starp diviem diapazoniem.

Izvades piemērs ir šāds:

Filtrējiet datuma komponentu

Citos gadījumos tā vietā, lai izmantotu datumu diapazonu, izmantojot literālās vērtības, mēs varam iegūt no vērtības konkrētos datuma komponentus un filtrēt, pamatojoties uz to.

Piemēram, tā vietā, lai norādītu no 2005-04-01 un 2005-06-01, mēs varam izvilkt maija mēnesi un filtrēt visus datus, kas atrodas šajā mēnesī.

Programmā MySQL mēs varam izmantot tādu funkciju kā MONTH() funkcija, lai to panāktu, kā parādīts šajā piemērā:

ATLASĪT
*
NO
noma
KUR
MĒNESIS ( nomas_datums ) = 5 ;

Šajā gadījumā MONTH(īres_datums) izņem mēneša daļu no datuma. Pēc tam mēs varam izmantot šo vērtību, lai filtrētu, ja vērtība ir vienāda ar 5, maijā.

Secinājums

Šajā apmācībā mēs uzzinājām par vienu no vissvarīgākajiem un visizplatītākajiem uzdevumiem SQL, kurā mēs filtrējam datus, pamatojoties uz datuma vērtību. Mēs uzzinājām, kā no datuma iegūt dažādus komponentus un izmantot to datuma filtrēšanai un citiem.