Az adatok szűrése a dátumérték alapján gyakori előfordulás az adatbázisokkal végzett munka során. Például lehetővé teheti számunkra, hogy lekérjük az adatokat egy adott időkeretből, összesítsük az eredményeket egy adott dátum alapján, azonosítsuk a trendek időbeli mintázatait és más, időhöz kapcsolódó műveleteket.
Ezért minden adatbázis-fejlesztő számára fontos készség. Az SQL különféle eszközöket biztosít számunkra a dátumok szűrésére egy adott adatkészleten belül.
Csatlakozzon hozzánk ebben a bejegyzésben, miközben feltárjuk azokat a különféle módszereket és technikákat, amelyek segítségével szűrhetjük a dátumokat az SQL világában.
Előfeltételek:
Mielőtt belemerülnénk a gyakorlati példákba és alkalmazásokba, részletezzük, mire van szüksége ehhez.
Ebben a bejegyzésben megpróbáljuk betartani azokat a módszereket, amelyek szinte minden SQL-adatbázisra alkalmazhatók. De demonstrációs célokra a MySQL 8-as verzióját használjuk a Sakila mintaadatbázissal.
Ön azonban szabadon letöltheti és felhasználhatja bármely kívánt adatkészletet. Biztosan jelezni fogjuk, hogy egy megadott módszer működhet-e más adatbázisokban, és alternatívát kínálunk, ha van ilyen.
Adott dátum szűrése
A legalapvetőbb dátumszűrési művelet az, amikor egy rekordot vagy több rekordot kell lekérnünk egy adott dátumhoz.
Ilyen esetben használhatjuk a WHERE záradékot, majd a dátum oszlopot és a lekérni kívánt tényleges dátumértéket.
Tegyük fel például, hogy meg akarjuk találni a 2005. május 24-én történt bérleti rekordokat. A következőképpen futtathatunk lekérdezést:
KIVÁLASZTÁS *kölcsönzéstől
WHERE bérleti_dátum = '2005-05-24 23:03:39' ;
Ebben az esetben a szűrni kívánt dátumot adjuk meg időbélyeg értékként. Ennek az az oka, hogy a „rental_date” oszlop az értékeket időbélyegként tárolja.
Szűrje ki a dátumtartományt
A második gyakori művelet az adatok szűrése egy adott dátumtartomány alapján. Tegyük fel például, hogy a 2005 májusa és 2005 júniusa között történt kölcsönzéseket szeretnénk lekérni.
A lekérdezést a következőképpen futtathatjuk:
KIVÁLASZTÁS*
TÓL TŐL
bérbeadás
AHOL
bérlés_dátuma BETWEEN '2005-04-01 00:00:00' ÉS '2005-06-01 00:00:00' ;
Ebben az esetben az ÉS operátort használjuk két érték összekapcsolására. A WHERE záradék akkor használatos, ha a „rental_date” oszlop bármely értékének a két tartomány között kell lennie.
Egy példa kimenet a következő:
Szűrje ki a dátum komponenst
Más esetekben a literális értékeket használó dátumtartomány helyett kivonhatjuk az értékből a konkrét dátumkomponenseket, és ez alapján szűrhetünk.
Például a 2005-04-01 és 2005-06-01 megadása helyett kivonhatjuk a május hónapot, és kiszűrhetjük az abban a hónapban lévő adatokat.
A MySQL-ben egy olyan függvényt használhatunk, mint a MONTH() függvény, hogy ezt elérjük, amint azt a következő példa bemutatja:
KIVÁLASZTÁS*
TÓL TŐL
bérbeadás
AHOL
HÓNAP ( bérlés_dátuma ) = 5 ;
Ebben az esetben a HÓNAP(bérlés_dátuma) kivonja a hónap részt a dátumból. Ezután ezzel az értékkel szűrhetünk, ahol az érték egyenlő május 5-tel.
Következtetés
Ebben az oktatóanyagban megismerkedtünk az SQL egyik legalapvetőbb és legáltalánosabb feladatával, ahol a dátumérték alapján szűrjük az adatokat. Megtanultuk, hogyan lehet kinyerni a különböző összetevőket egy dátumból, és hogyan lehet vele szűrni a dátumot és így tovább.