SQL-i kuupäeva filtreerimine

Sql I Kuupaeva Filtreerimine



Andmete filtreerimine kuupäeva väärtuse alusel on andmebaasidega töötamisel tavaline nähtus. Näiteks võib see võimaldada meil hankida andmeid kindlast ajavahemikust, koondada tulemusi antud kuupäeva alusel, tuvastada trendide mustreid aja jooksul ja muid ajaga seotud toiminguid.

Seetõttu on see iga andmebaasi arendaja jaoks oluline oskus. SQL pakub meile erinevaid tööriistu, et filtreerida antud andmekogumis kuupäevi.







Liituge meiega selles postituses, kui uurime erinevaid meetodeid ja tehnikaid, mida saame kasutada kuupäevade filtreerimiseks SQL-i maailmas.



Eeltingimused:

Enne kui sukeldume praktilistesse näidetesse ja rakendustesse, selgitame välja, mida selle jaoks vajate.



Selles postituses proovime järgida meetodeid, mida saab rakendada peaaegu kõigi SQL-andmebaaside puhul. Demonstratsiooni eesmärgil kasutame aga MySQL versiooni 8 koos Sakila näidisandmebaasiga.





Siiski võite vabalt alla laadida ja kasutada mis tahes soovitud andmekogumit. Me juhime kindlasti tähelepanu sellele, kas pakutav meetod töötab teistes andmebaasides, ja pakume alternatiivi, kui see on olemas.

Filtreerige konkreetne kuupäev

Kõige elementaarsem kuupäeva filtreerimise toiming on see, kus peame hankima konkreetse kuupäeva kirje või mitu kirjet.



Sellisel juhul saame kasutada WHERE-klauslit, millele järgneb kuupäeva veerg ja tegelik kuupäeva väärtus, mida soovime tuua.

Oletagem näiteks, et tahame välja selgitada 24. mail 2005 toimunud rendikirjed. Päringu saame käitada järgmiselt:

VALI *
laenutusest
KUS rentimise_kuupäev = '2005-05-24 23:03:39' ;

Sel juhul anname ajatempli väärtusena kuupäeva, mida soovime filtreerida. Selle põhjuseks on asjaolu, et veerg „rental_date” salvestab väärtused ajatemplina.

Filtreerige kuupäevavahemik

Teine levinud toiming on andmete filtreerimine kindla kuupäevavahemiku alusel. Oletagem näiteks, et soovime hankida 2005. aasta maist kuni 2005. aasta juunini toimunud laenutusi.

Saame päringu käivitada järgmiselt:

VALI
*
FROM
laenutus
KUS
rent_date BETWEEN '2005-04-01 00:00:00' JA '2005-06-01 00:00:00' ;

Sel juhul kasutame kahe väärtuse ühendamiseks operaatorit JA. WHERE-klauslit kasutatakse juhul, kui mis tahes väärtus veerust „rental_date” peab jääma kahe vahemiku vahele.

Näidisväljund on järgmine:

Filtreerige kuupäeva komponent

Muudel juhtudel saame literaalväärtusi kasutava kuupäevavahemiku asemel eraldada väärtusest konkreetsed kuupäevakomponendid ja selle alusel filtreerida.

Näiteks 2005-04-01 ja 2005-06-01 määramise asemel saame eraldada maikuu ja filtreerida kõik selle kuu andmed.

MySQL-is saame selle saavutamiseks kasutada sellist funktsiooni nagu funktsioon MONTH(), nagu on näidatud järgmises näites:

VALI
*
FROM
laenutus
KUS
KUU ( rendi_kuupäev ) = 5 ;

Sel juhul eraldab KUU(rentimise_kuupäev) kuu osa kuupäevast. Seejärel saame selle väärtuse abil filtreerida, kui väärtus on võrdne 5, mai.

Järeldus

Selles õpetuses õppisime SQL-i ühte kõige põhilisemat ja levinumat ülesannet, mille puhul filtreerime andmeid kuupäevaväärtuse alusel. Õppisime, kuidas eraldada kuupäevast erinevaid komponente ja kasutada seda kuupäeva ja muu filtreerimiseks.