Ebben az oktatóanyagban megismerjük az SQL-be beépített fontos dátumfüggvényeket.
Dátumfüggvények SQL-ben:
- MOST()
- TURÁTUM()
- CURTIME()
- DÁTUM()
- KIVONAT()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- DÁTUM FORMÁTUM()
Nézzük meg részletesen az egyes dátumfüggvényeket példák segítségével. A lekérdezések írásához példákban MySQL adatbázist fogunk használni.
Tegyük fel, hogy van egy tanulói táblázatunk a következő adatokkal:
ID | Név | DateTime_Birth | Város |
---|---|---|---|
1 | Mansi Shah | 2010-01-01 18:39:09 | Pune |
2 | Tejal Wagh | 2010-03-04 05:13:19 | Nasik |
3 | Sejal Kumari | 2010-05-01 10:31:07 | Mumbai |
4 | Sonal Jain | 2010-09-09 17:17:07 | Shimla |
5 | Surili Maheshwari | 2010-07-10 20:45:18 | Levél |
Néhány példában ezt a táblázatot fogjuk használni.
1. MOST():
A NOW () függvény az SQL-ben megadja az aktuális rendszer dátumát és idejét.
Szintaxis:
SELECT NOW ();
Példa:
Írjon lekérdezést az aktuális rendszer dátumának és idejének megjelenítéséhez.
Lekérdezés:
mysql> SELECT NOW () AS Current_Date_Time;
Itt írtunk egy SELECT lekérdezést a MOST () függvénnyel, hogy megkapjuk a rendszer aktuális dátumát és idejét. A Current_Date_Time egy álnév a dátum és az idő tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
Aktuális_dátum_idő |
---|
2021-10-24 18:28:44 |
A lekérdezés végrehajtásának dátuma és időpontja a rendszerben: 24th2021. október és 18:28:44. Ezért kimenetként jelenik meg.
2. TURÁTUM()
A CURDATE () függvény az SQL-ben megadja az aktuális rendszer dátumát.
gépi nyelv
Szintaxis:
SELECT CURDATE ();
Példa:
Írjon lekérdezést az aktuális rendszer dátumának megjelenítéséhez.
Lekérdezés:
mysql> SELECT CURDATE () AS CurrentDate;
Itt írtunk egy SELECT lekérdezést a CURDATE () függvénnyel, hogy megkapjuk a rendszer aktuális dátumát. A CurrentDate egy álnév a dátum tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
Mostani dátum |
---|
2021-10-24 |
A lekérdezés végrehajtásának dátuma a rendszerben 24th2021. október. Ezért kimenetként jelenik meg.
3. CURTIME()
A CURTIME () függvény az SQL-ben az aktuális rendszeridőt adja meg.
Szintaxis:
SELECT CURTIME ();
Példa:
Írjon lekérdezést az aktuális rendszeridő megjelenítéséhez.
Lekérdezés:
mysql> SELECT CURTIME () AS CurrentTime;
Itt írtunk egy SELECT lekérdezést a CURTIME () függvénnyel, hogy megkapjuk a rendszer aktuális idejét. A CurrentTime egy álnév az idő tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
Aktuális idő |
---|
18:49:07 |
A lekérdezés végrehajtásának időpontja a rendszerben 18:49:07. Ezért kimenetként jelenik meg.
4. DÁTUM()
Az SQL DÁTUM () függvényének használatával konkrétan kivonhatja a dátumot a DATETIME adattípus oszlopból.
Szintaxis:
SELECT DATE (DateTimeValue);
1. példa:
Írjon lekérdezést a dátum megjelenítéséhez a megadott dátumtól és időponttól, azaz 2021-10-24 18:28:44.
Lekérdezés:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE () függvénnyel, hogy csak a dátumot kapjuk meg a dátum és idő paraméterből, amelyet a DATE() függvénynek adott át. A SHOW_DATE egy álnév a dátum tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_DATE |
---|
2021-10-24 |
A dátum és idő paraméterből, azaz „2021-10-24 18:28:44” a dátum értéke 2021-10-24. Ezért kimenetként jelenik meg.
2. példa:
Írjon lekérdezést a tanulói táblázat összes részletének megjelenítéséhez a tanulói táblázat DateTime_Birth oszlopában szereplő dátummal.
Lekérdezés:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Itt írtunk egy SELECT lekérdezést az azonosító és a név lekéréséhez. A Date_of_Birth a DateTime_Birth álneve. A Date_of_Birth paramétert a DATE () függvénnyel együtt használjuk, hogy csak a dátumot kapjuk meg.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
ID | Név | Születési dátum | Város |
---|---|---|---|
1 | Mansi Shah | 2010-01-01 | Pune |
2 | Tejal Wagh | 2010-03-04 | Nasik |
3 | Sejal Kumari | 2010-05-01 | Mumbai |
4 | Sonal Jain | 2010-09-09 | Shimla |
5 | Surili Maheshwari | 2010-07-10 | Levél |
A DateTime_Birth oszlop kivételével minden rekord úgy jelenik meg, ahogy van a tanulói táblázatból. Csak a dátum jelenik meg a Születési_dátum oszlopban a követelménynek megfelelően.
5. EXTRACT()
Az SQL-ben az EXTRACT() függvény használatával a dátum és az idő meghatározott részét igényeink szerint kinyerhetjük: nap, hónap, év, nap, óra, perc stb.
Szintaxis:
SELECT EXTRACT (PART FROM DATE / TIME);
1. példa:
Írjon lekérdezést az év megjelenítéséhez az adott dátumtól, azaz 24-tőlth2021. október.
Lekérdezés:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Itt írtunk egy SELECT lekérdezést az EXTRACT () függvénnyel, hogy megkapjuk az adott dátumtól számított évet. A SHOW_YEAR egy álnév az év tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_YEAR |
---|
2021 |
A „2021” az év az adott dátumban. Ezért kimenetként jelenik meg.
2. példa:
Írjon lekérdezést a hónap megjelenítéséhez az adott dátumtól, azaz 24-tőlth2021. október.
Lekérdezés:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Itt írtunk egy SELECT lekérdezést az EXTRACT () függvénnyel, hogy megkapjuk a hónapot az adott dátumtól. A SHOW_MONTH egy álnév a hónap tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_MONTH |
---|
10 |
10tha hónap értéke az adott dátumban. Ezért kimenetként jelenik meg.
3. példa:
Írjon lekérdezést a nap megjelenítéséhez az adott dátumtól, azaz 24-tőlth2021. október.
Lekérdezés:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Itt írtunk egy SELECT lekérdezést az EXTRACT () függvénnyel, hogy megkapjuk a napot az adott dátumtól. A SHOW_DAY egy álnév a nap tárolására.
hogyan kell olvasni csv fájlból java-ban
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_DAY |
---|
24 |
24tha nap értéke az adott dátumban. Ezért kimenetként jelenik meg.
4. példa:
Írjon lekérdezést az óra megjelenítéséhez az adott időponttól, azaz 19:10:43-tól.
Lekérdezés:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Itt írtunk egy SELECT lekérdezést az EXTRACT () függvénnyel, hogy megkapjuk az órát az adott időpontból. A SHOW_HOUR egy álnév, amely egy óra értékét tárolja.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_HOUR |
---|
19 |
A '19' az óra értéke az adott időben. Ezért kimenetként jelenik meg.
5. példa:
Írjon lekérdezést, hogy megjelenítse a percet az adott időponttól, azaz 19:10:43-tól.
Lekérdezés:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Itt írtunk egy SELECT lekérdezést az EXTRACT () függvénnyel, hogy megkapjuk az adott idő percértékét. A SHOW_MINUTE egy álnév a perc tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_MINUTE |
---|
10 |
A '10' a percérték az adott időben. Ezért kimenetként jelenik meg.
6. példa:
Írjon lekérdezést az adott idő másodperceinek megjelenítéséhez, azaz 19:10:43.
Lekérdezés:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Itt írtunk egy SELECT lekérdezést az EXTRACT () függvénnyel, hogy megkapjuk a másodperc értéket az adott időpontból. A SHOW_SECOND egy álnév a másodperc értékének tárolására.
A fenti lekérdezés végrehajtása után a következő kimenetet kaptuk:
SHOW_SECOND |
---|
43 |
A 43 a második érték az adott idő alatt. Ezért kimenetként jelenik meg.
6. DATE_ADD()
Az SQL-ben a DATE_ADD () függvény segítségével egy adott időintervallumot adhatunk az adott dátumhoz.
Szintaxis:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
1. példa:
Írjon lekérdezést, hogy a megadott dátumhoz 15 napos intervallumot adjon, azaz 24th2021. október.
Lekérdezés:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_ADD () függvénnyel, hogy 15 napos intervallumot adjunk az adott dátumhoz. A NEW_DATE egy álnév, amely egy új dátum értékét tárolja.
A következő kimenetet kapod:
NEW_DATE |
---|
2021-11-08 |
Miután 2021-10-24-hez 15 napos intervallumot adtunk, az új dátum 2021-11-08.
2. példa:
Írjon lekérdezést, hogy a megadott dátumhoz 5 hónapos intervallumot adjon, azaz 24th2021. október.
Lekérdezés:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_ADD () függvénnyel, hogy 5 hónapos intervallumot adjunk az adott dátumhoz. A NEW_DATE egy álnév, amely egy új dátum értékét tárolja.
olyan oldalak, mint a coomeet
A következő kimenetet kapod:
NEW_DATE |
---|
2022-03-24 |
Miután 5 hónapos intervallumot hozzáadtunk 2021-10-24-hez, az új dátum 2022-03-24.
3. példa:
Írjon lekérdezést, hogy a megadott dátumhoz 25 éves intervallumot adjon, azaz 24th2021. október.
Lekérdezés:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_ADD () függvénnyel, hogy 25 éves intervallumot adjunk az adott dátumhoz. A NEW_DATE egy álnév, amely egy új dátum értékét tárolja.
A következő kimenetet kapod:
NEW_DATE |
---|
2046-10-24 |
Miután a 2021-10-24-hez 25 éves intervallumot adtunk, az új dátum 2046-10-24.
7. DATE_SUB()
Az SQL-ben a DATE_SUB () függvény segítségével eltávolíthatunk egy adott időintervallumot az adott dátumból.
Szintaxis:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
1. példa:
Írjon lekérdezést az adott dátumtól számított 25 éves intervallum eltávolításához, azaz 24th2021. október.
Lekérdezés:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_SUB() függvénnyel, hogy eltávolítsunk egy 25 éves intervallumot a megadott dátumtól. A NEW_DATE egy álnév, amely egy új dátum értékét tárolja.
A következő kimenetet kapod:
NEW_DATE |
---|
1996-10-24 |
A 2021-10-24-től 25 éves intervallum eltávolítása után az új dátum 1996-10-24.
2. példa:
Írjon lekérdezést az adott dátumtól számított 5 hónapos intervallum eltávolításához, azaz 24th2021. október.
string to date konvertálni
Lekérdezés:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_SUB() függvénnyel, hogy eltávolítsuk az adott dátumtól számított 5 hónapos intervallumot. A NEW_DATE egy álnév, amely egy új dátum értékét tárolja.
A következő kimenetet kapod:
NEW_DATE |
---|
2021-05-24 |
A 2021-10-24-től 5 hónapos szünet eltávolítása után az új dátum 2021-05-24.
3. példa:
Írjon lekérdezést az adott dátumtól számított 15 napos intervallum eltávolításához, azaz 24th2021. október.
Lekérdezés:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_SUB() függvénnyel, hogy eltávolítsunk egy 15 napos intervallumot a megadott dátumtól. A NEW_DATE egy álnév, amely egy új dátum értékét tárolja.
A következő kimenetet kapod:
NEW_DATE |
---|
2021-10-09 |
A 2021-10-24-től 15 napos szünet eltávolítása után az új dátum 2021-10-09.
8. DATEDIFF()
A DATEDIFF() függvény használata SQL-ben megadja, hogy hány nap esik a két megadott dátum közé.
Szintaxis:
SELECT DATEDIFF(Date1, Date2);
1. példa:
Írjon lekérdezést két megadott dátum, azaz 24 közötti különbség kiszámításáhozth2021. október és 9th2021. október.
Lekérdezés:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_DIFF() függvénnyel, hogy megkapjuk a 2021-10-24 és a 2021-10-09 közötti különbséget. A Number_of_Days egy álnév, amely a napok számának különbségét tárolja.
A következő kimenetet kapod:
Napok száma |
---|
tizenöt |
15 nap eltérés van a 2021-10-24 és a 2021-10-09 dátumok között.
2. példa:
Írjon lekérdezést két megadott dátum közötti különbség kiszámításához, azaz 5th2018. május és 5th2008. május.
Lekérdezés:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Itt írtunk egy SELECT lekérdezést a DATE_DIFF () függvénnyel, hogy megkapjuk a 2018-05-05 és a 2008-05-05 dátumok közötti különbséget. A Number_of_Days egy álnév, amely a napok számának különbségét tárolja.
A következő kimenetet kapod:
Napok száma |
---|
3652 |
3652 nap eltérés van a 2018-05-05 és a 2008-05-05 dátumok között.
9. DATE_FORMAT()
Az SQL DATE_FORMAT () függvényével jól formázva tudjuk megjeleníteni a dátummal vagy idővel kapcsolatos információkat.
A DATE_FORMAT függvény használatának szintaxisa egy táblázat oszlopában:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
VAGY
Szintaxis egy adott dátum formázásához:
SELECT DATE_FORMAT (Date, Expression);
1. példa:
Írjon lekérdezést, hogy az adott dátum jól formázva jelenjen meg, azaz 24th2021. október.
Lekérdezés:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Itt írtunk egy SELECT lekérdezést a DATE_FORMAT () függvénnyel, hogy megkapjuk a 2021-10-24 dátumot formázott formában. A Formatted_Date egy álnév a formázott dátum tárolására.
előjel nélküli int c programozás
A következő kimenetet kapod:
Formátum_dátum |
---|
2021. október 24. vasárnap |
2021. október 24. vasárnap a 2021-10-24 formált dátuma.
2. példa:
Írjon lekérdezést az adott dátum és idő jól formázott megjelenítéséhez, azaz 24th2021. október 22:30:17.
Lekérdezés:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Itt írtunk egy SELECT lekérdezést a DATE_FORMAT () függvénnyel, hogy megkapjuk a dátumot és időt '2021-10-24 22:30:17' formázott formában. A Formatted_DateTime egy álnév a formázott dátum és idő tárolására.
A következő kimenetet kapod:
Formatted_DateTime |
---|
2021. október 24. vasárnap 22:30:17 |
2021. október 24. vasárnap 22:30:17 a 2021-10-24 22:30:17 formázott dátuma és időpontja.
3. példa:
Írjon lekérdezést, hogy jól formázott módon jelenítse meg a tanuló oszlop összes részletét a DateTime_Birth oszloppal.
Lekérdezés:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Itt írtunk egy SELECT lekérdezést a DATE_FORMAT () függvénnyel, hogy megkapjuk az összes rekord dátumát és idejét formázott formában. A Formatted_DateTime egy álnév a formázott dátum és idő tárolására.
A következő kimenetet kapod:
ID | Név | Formatted_DateTime | Város |
---|---|---|---|
1 | Mansi Shah | 2010. január 1., péntek, 18:39:09 | Pune |
2 | Tejal Wagh | 2010. március 4., csütörtök, 05:13:19 | Nasik |
3 | Sejal Kumari | 2010. május 1., szombat, 10:31:07 | Mumbai |
4 | Sonal Jain | 2010. szeptember 9., csütörtök, 17:17:07 | Shimla |
5 | Surili Maheshwari | 2010. július 10. szombat, 20:45:18 | Levél |
A DateTime_Birth oszlop kivételével minden rekord úgy jelenik meg, ahogy van a tanulói táblázatból. Csak a dátum és az idő jelenik meg a Formatted_DateTime oszlopban a szükségesnek megfelelően.