SQL datos filtravimas

Sql Datos Filtravimas



Duomenų filtravimas pagal datos reikšmę yra įprastas reiškinys dirbant su duomenų bazėmis. Pavyzdžiui, jis gali leisti mums gauti duomenis iš konkretaus laiko tarpo, apibendrinti rezultatus pagal tam tikrą datą, nustatyti tendencijų modelius laikui bėgant ir kitas su laiku susijusias operacijas.

Todėl tai yra svarbus įgūdis bet kuriam duomenų bazių kūrėjui. SQL suteikia mums įvairių įrankių, leidžiančių filtruoti datas tam tikrame duomenų rinkinyje.







Prisijunkite prie šio įrašo, kai tyrinėjame įvairius metodus ir metodus, kuriuos galime naudoti norėdami filtruoti datas SQL pasaulyje.



Būtinos sąlygos:

Prieš pasinerdami į praktinius pavyzdžius ir pritaikymus, suskirstykime, ko jums reikia šiam įrenginiui.



Šiame įraše pabandysime laikytis metodų, kurie gali būti taikomi beveik visoms SQL duomenų bazėms. Tačiau demonstravimo tikslais naudojame MySQL 8 versiją su Sakila duomenų baze.





Tačiau galite laisvai atsisiųsti ir naudoti bet kurį pageidaujamą duomenų rinkinį. Būtinai nurodysime, ar pateiktas metodas gali veikti kitose duomenų bazėse, ir pateiksime alternatyvą, jei tokia yra.

Filtruokite konkrečią datą

Paprasčiausia datos filtravimo operacija yra ta, kai turime gauti konkrečios datos įrašą arba kelis įrašus.



Tokiu atveju galime naudoti sąlygą WHERE, po kurios yra datos stulpelis ir tikroji datos reikšmė, kurią norime gauti.

Pavyzdžiui, tarkime, kad norime sužinoti nuomos įrašus, įvykusius 2005 m. gegužės 24 d. Užklausą galime vykdyti taip:

PASIRINKTI *
IŠ nuomos
KUR nuomos_data = „2005-05-24 23:03:39“ ;

Tokiu atveju kaip laiko žymos reikšmę pateikiame datą, kurią norime filtruoti. Taip yra todėl, kad stulpelyje „rental_date“ vertės saugomos kaip laiko žyma.

Filtruokite dienų seką

Antroji įprasta operacija yra duomenų filtravimas pagal konkrečią dienų seką. Pavyzdžiui, tarkime, kad norime gauti nuomos mokesčius, kurie įvyko nuo 2005 m. gegužės mėn. iki 2005 m. birželio mėn.

Užklausą galime vykdyti taip:

PASIRINKTI
*
NUO
nuoma
KUR
nuomos_data BETWEEN „2005-04-01 00:00:00“ IR „2005-06-01 00:00:00“ ;

Šiuo atveju mes naudojame operatorių AND, kad sujungtume dvi reikšmes. WHERE sąlyga naudojama, kai bet kuri vertė iš stulpelio „rental_date“ turi būti tarp dviejų diapazonų.

Išvesties pavyzdys yra toks:

Filtruokite datos komponentą

Kitais atvejais, užuot naudoję dienų seką, naudodami pažodines reikšmes, galime išskirti konkrečius datos komponentus iš vertės ir pagal tai filtruoti.

Pavyzdžiui, užuot nurodę 2005-04-01 ir 2005-06-01, galime išskirti gegužės mėnesį ir filtruoti visus to mėnesio duomenis.

MySQL galime naudoti tokią funkciją kaip MONTH() funkcija, kad tai pasiektume, kaip parodyta šiame pavyzdyje:

PASIRINKTI
*
NUO
nuoma
KUR
MĖNESIS ( nuomos_data ) = 5 ;

Šiuo atveju MĖNESIS(nuomos_data) ištraukia mėnesio dalį iš datos. Tada galime naudoti šią reikšmę norėdami filtruoti, kur reikšmė lygi 5, gegužės mėn.

Išvada

Šioje pamokoje sužinojome apie vieną iš pagrindinių ir dažniausiai pasitaikančių SQL užduočių, kai filtruojame duomenis pagal datos reikšmę. Sužinojome, kaip iš datos išskirti įvairius komponentus ir naudoti juos datos filtravimui ir kt.