logo

SQL dátumfüggvények

Ebben az oktatóanyagban megismerjük az SQL-be ​​beépített fontos dátumfüggvényeket.

Dátumfüggvények SQL-ben:

  1. MOST()
  2. TURÁTUM()
  3. CURTIME()
  4. DÁTUM()
  5. KIVONAT()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. 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.