Filtriranje datumov SQL

Filtriranje Datumov Sql



Filtriranje podatkov na podlagi datumske vrednosti je pogost pojav pri delu z zbirkami podatkov. Omogoči nam lahko na primer pridobivanje podatkov iz določenega časovnega okvira, združevanje rezultatov na podlagi danega datuma, prepoznavanje vzorcev trendov skozi čas in druge s časom povezane operacije.

Zato je pomembna veščina za vsakega razvijalca baze podatkov. SQL nam ponuja različna orodja za filtriranje datumov v danem nizu podatkov.







Pridružite se nam v tej objavi, ko raziskujemo različne metode in tehnike, ki jih lahko uporabimo za filtriranje datumov v svetu SQL.



Predpogoji:

Preden se poglobimo v praktične primere in aplikacije, naj razčlenimo, kaj potrebujete za to.



V tej objavi se bomo poskušali držati metod, ki se lahko uporabljajo za skoraj vse zbirke podatkov SQL. Vendar pa za namene predstavitve uporabljamo MySQL različico 8 z vzorčno bazo podatkov Sakila.





Lahko pa prosto prenesete in uporabite poljuben nabor podatkov, ki ga želite. Zagotovo bomo opozorili, ali lahko navedena metoda deluje v drugih zbirkah podatkov, in zagotovili alternativo, če obstaja.

Filtrirajte določen datum

Najosnovnejša operacija filtriranja datumov je, ko moramo pridobiti zapis ali več zapisov za določen datum.



V takem primeru lahko uporabimo klavzulo WHERE, ki ji sledi stolpec z datumom in dejansko vrednost datuma, ki jo želimo pridobiti.

Na primer, recimo, da želimo izvedeti zapise o najemninah, ki so se zgodile 24. maja 2005. Poizvedbo lahko izvedemo na naslednji način:

IZBERI *
IZ najema
WHERE rental_date = '2005-05-24 23:03:39' ;

V tem primeru podamo datum, ki ga želimo filtrirati, kot vrednost časovnega žiga. To je zato, ker stolpec »rental_date« shranjuje vrednosti kot časovni žig.

Filtrirajte časovno obdobje

Druga pogosta operacija je filtriranje podatkov na podlagi določenega časovnega obdobja. Na primer, recimo, da želimo pridobiti najemnine, ki so se zgodile med majem 2005 in junijem 2005.

Poizvedbo lahko izvedemo na naslednji način:

IZBERI
*
OD
najem
KJE
datum_najema MED '2005-04-01 00:00:00' IN '2005-06-01 00:00:00' ;

V tem primeru uporabimo operator AND za združitev dveh vrednosti. Klavzula WHERE se uporablja, kjer mora biti katera koli vrednost iz stolpca »rental_date« med obema obsegoma.

Primer izhoda je naslednji:

Filtrirajte komponento datuma

V drugih primerih lahko namesto uporabe časovnega obsega z dobesednimi vrednostmi izvlečemo specifične datumske komponente iz vrednosti in filtriramo na podlagi tega.

Na primer, namesto podajanja iz 2005-04-01 in 2005-06-01, lahko izvlečemo mesec maj in filtriramo vse podatke, ki so znotraj tega meseca.

V MySQL lahko uporabimo funkcijo, kot je funkcija MONTH(), da to dosežemo, kot je prikazano v naslednjem primeru:

IZBERI
*
OD
najem
KJE
MESEC ( datum_najema ) = 5 ;

V tem primeru MONTH(datum_najema) izvleče del meseca iz datuma. Nato lahko to vrednost uporabimo za filtriranje, kjer je vrednost enaka 5, maj.

Zaključek

V tej vadnici smo spoznali eno najbolj temeljnih in najpogostejših nalog v SQL, kjer filtriramo podatke na podlagi datumske vrednosti. Naučili smo se, kako iz datuma izvleči različne komponente in jih uporabiti za filtriranje datuma in več.