In deze zelfstudie leren we enkele van de belangrijke datumfuncties kennen die in SQL zijn ingebouwd.
Datumfuncties in SQL:
- NU()
- CURDAAT()
- CURTIME()
- DATUM()
- EXTRACT()
- DATE_ADD()
- DATE_SUB()
- DATUMVERSCH()
- DATUMNOTATIE()
Laten we elk van de datumfuncties één voor één in detail bekijken met behulp van voorbeelden. We zullen de MySQL-database in voorbeelden gebruiken voor het schrijven van de query's.
Stel dat we de studententabel hebben met de volgende gegevens:
ID kaart | Naam | DatumTijd_Geboorte | Stad |
---|---|---|---|
1 | Mansi Sjah | 01-01-2010 18:39:09 | Pune |
2 | Tejal Wagh | 04-03-2010 05:13:19 | Nasik |
3 | Sejal Kumari | 01-05-2010 10:31:07 | Mumbai |
4 | Sonaal Jain | 09-09-2010 17:17:07 | Shimla |
5 | Surili Maheshwari | 10-07-2010 20:45:18 | Brief |
We zullen deze tabel in enkele voorbeelden gebruiken.
1. NU():
De functie NOW () in SQL geeft de datum en tijd van het huidige systeem.
Syntaxis:
SELECT NOW ();
Voorbeeld:
Schrijf een query om de datum en tijd van het huidige systeem weer te geven.
Vraag:
mysql> SELECT NOW () AS Current_Date_Time;
Hier hebben we een SELECT-query geschreven met de functie NU () om de huidige datum en tijd van het systeem te verkrijgen. Current_Date_Time is een alias om de datum en tijd op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
Huidige_datum_tijd |
---|
24-10-2021 18:28:44 |
De datum en tijd waarop de query in het systeem is uitgevoerd, zijn 24eOktober 2021 en 18:28:44. Daarom wordt het weergegeven als een uitvoer.
2. CURDAAT()
De functie CURDATE () in SQL geeft de datum van het huidige systeem.
sneltoetsen voor Linux
Syntaxis:
SELECT CURDATE ();
Voorbeeld:
Schrijf een query om de datum van het huidige systeem weer te geven.
Vraag:
mysql> SELECT CURDATE () AS CurrentDate;
Hier hebben we een SELECT-query geschreven met de functie CURDATE () om de huidige datum van het systeem te verkrijgen. CurrentDate is een alias om de datum op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
Huidige datum |
---|
24-10-2021 |
De datum waarop de query in het systeem is uitgevoerd, is 24eOktober 2021. Daarom wordt het weergegeven als uitvoer.
3. CURTIME()
De functie CURTIME () in SQL geeft de huidige systeemtijd.
Syntaxis:
SELECT CURTIME ();
Voorbeeld:
Schrijf een query om de tijd van het huidige systeem weer te geven.
Vraag:
mysql> SELECT CURTIME () AS CurrentTime;
Hier hebben we een SELECT-query geschreven met de functie CURTIME () om de huidige tijd van het systeem te achterhalen. CurrentTime is een alias om de tijd op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
Huidige tijd |
---|
18:49:07 |
Het tijdstip waarop de query in het systeem is uitgevoerd is 18:49:07. Daarom wordt het weergegeven als een uitvoer.
4. DATUM()
Met behulp van de functie DATE () in SQL kunt u specifiek de datum uit de gegevenstypekolom DATETIME extraheren.
Syntaxis:
SELECT DATE (DateTimeValue);
Voorbeeld 1:
Schrijf een query om de datum vanaf de opgegeven datum en tijd weer te geven, bijvoorbeeld 24-10-2021 18:28:44.
Vraag:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE() om alleen de datum op te halen uit de datum- en tijdparameter die is doorgegeven aan de functie DATE(). SHOW_DATE is een alias om de datum op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
SHOW_DATE |
---|
24-10-2021 |
Van de datum- en tijdparameter, d.w.z. '2021-10-24 18:28:44', is de datumwaarde 2021-10-24. Daarom wordt het weergegeven als een uitvoer.
burak ozcivit
Voorbeeld 2:
Schrijf een query om alle details uit de studententabel weer te geven met de datum uit de kolom DateTime_Birth van de studententabel.
Vraag:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Hier hebben we een SELECT-query geschreven om de ID en de naam op te halen. Date_of_Birth is een alias voor DateTime_Birth. We hebben de Date_of_Birth gebruikt met de DATE () functie om alleen de datum op te halen.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
ID kaart | Naam | Geboortedatum | Stad |
---|---|---|---|
1 | Mansi Sjah | 01-01-2010 | Pune |
2 | Tejal Wagh | 04-03-2010 | Nasik |
3 | Sejal Kumari | 01-05-2010 | Mumbai |
4 | Sonaal Jain | 09-09-2010 | Shimla |
5 | Surili Maheshwari | 10-07-2010 | Brief |
Alle records worden weergegeven zoals ze uit de studententabel komen, behalve de kolom DateTime_Birth. Alleen de datum wordt weergegeven in de kolom Date_of_Birth volgens de vereiste.
5. UITTREKKEN()
Met behulp van de EXTRACT()-functie in SQL kunnen we een specifiek deel van de datum en tijd extraheren volgens onze vereisten: dag, maand, jaar, dag, uur, minuut, enz.
Syntaxis:
SELECT EXTRACT (PART FROM DATE / TIME);
Voorbeeld 1:
Schrijf een query om het jaar vanaf de opgegeven datum weer te geven, bijvoorbeeld 24eOktober 2021.
Vraag:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Hier hebben we een SELECT-query geschreven met de EXTRACT ()-functie om het jaar vanaf de opgegeven datum te verkrijgen. SHOW_YEAR is een alias om het jaar op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
TOON_JAAR |
---|
2021 |
'2021' is het jaar op de opgegeven datum. Daarom wordt het weergegeven als een uitvoer.
Voorbeeld 2:
Schrijf een query om de maand vanaf de opgegeven datum weer te geven, bijvoorbeeld 24eOktober 2021.
Vraag:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Hier hebben we een SELECT-query geschreven met de EXTRACT ()-functie om de maand vanaf de opgegeven datum te verkrijgen. SHOW_MONTH is een alias om de maand op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
TOON_MAAND |
---|
10 |
10eis de maandwaarde op de opgegeven datum. Daarom wordt het weergegeven als een uitvoer.
Voorbeeld 3:
Schrijf een query om de dag vanaf de opgegeven datum weer te geven, bijvoorbeeld 24eOktober 2021.
Vraag:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Hier hebben we een SELECT-query geschreven met de EXTRACT ()-functie om de dag vanaf de opgegeven datum te verkrijgen. SHOW_DAY is een alias om de dag op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
SHOW_DAY |
---|
24 |
24eis de dagwaarde op de opgegeven datum. Daarom wordt het weergegeven als een uitvoer.
Voorbeeld 4:
Schrijf een query om het uur vanaf de opgegeven tijd weer te geven, bijvoorbeeld 19:10:43.
Vraag:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Hier hebben we een SELECT-query geschreven met de EXTRACT ()-functie om het uur uit de opgegeven tijd te halen. SHOW_HOUR is een alias om de waarde van een uur op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
TOON_HOUR |
---|
19 |
'19' is de uurwaarde in de opgegeven tijd. Daarom wordt het weergegeven als een uitvoer.
Voorbeeld 5:
Schrijf een query om de minuut vanaf de opgegeven tijd weer te geven, bijvoorbeeld 19:10:43.
Vraag:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Hier hebben we een SELECT-query geschreven met de EXTRACT ()-functie om de minuutwaarde van de opgegeven tijd te verkrijgen. SHOW_MINUTE is een alias om de minuut op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
TOON_MINUTE |
---|
10 |
'10' is de minuutwaarde in de opgegeven tijd. Daarom wordt het weergegeven als een uitvoer.
Voorbeeld 6:
Schrijf een query om de seconden vanaf de opgegeven tijd weer te geven, bijvoorbeeld 19:10:43.
Vraag:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Hier hebben we een SELECT-query geschreven met de EXTRACT ()-functie om de secondenwaarde van de opgegeven tijd te verkrijgen. SHOW_SECOND is een alias om de waarde van een seconde op te slaan.
Na het uitvoeren van de bovenstaande query kregen we de volgende uitvoer:
TOON_SECOND |
---|
43 |
43 is de tweede waarde in de gegeven tijd. Daarom wordt het weergegeven als een uitvoer.
6. DATE_ADD()
Met behulp van de functie DATE_ADD () in SQL kunnen we een specifiek tijdsinterval aan de gegeven datum toevoegen.
Syntaxis:
Shilpa Shetty leeftijd
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
Voorbeeld 1:
Schrijf een query om een interval van 15 dagen toe te voegen aan de opgegeven datum, d.w.z. 24eOktober 2021.
Vraag:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_ADD () om een interval van 15 dagen aan de opgegeven datum toe te voegen. NEW_DATE is een alias om de waarde van een nieuwe datum op te slaan.
U krijgt de volgende uitvoer:
NIEUWE DATUM |
---|
08-11-2021 |
Na het toevoegen van een interval van 15 dagen aan 24-10-2021, is de nieuwe datum 08-11-2021.
Voorbeeld 2:
Schrijf een query om een interval van 5 maanden toe te voegen aan de opgegeven datum, d.w.z. 24eOktober 2021.
Vraag:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_ADD () om een interval van 5 maanden aan de opgegeven datum toe te voegen. NEW_DATE is een alias om de waarde van een nieuwe datum op te slaan.
U krijgt de volgende uitvoer:
NIEUWE DATUM |
---|
24-03-2022 |
Na het toevoegen van een interval van 5 maanden aan 24-10-2021, is de nieuwe datum 24-03-2022.
Voorbeeld 3:
Schrijf een query om een interval van 25 jaar toe te voegen aan de opgegeven datum, d.w.z. 24eOktober 2021.
Vraag:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_ADD () om een interval van 25 jaar aan de opgegeven datum toe te voegen. NEW_DATE is een alias om de waarde van een nieuwe datum op te slaan.
U krijgt de volgende uitvoer:
NIEUWE DATUM |
---|
24-10-2046 |
Na het toevoegen van een interval van 25 jaar aan 24-10-2021, is de nieuwe datum 24-10-2046.
Android-proces acore blijft stoppen
7. DATE_SUB()
Met behulp van de functie DATE_SUB () in SQL kunnen we een specifiek tijdsinterval vanaf de opgegeven datum verwijderen.
Syntaxis:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
Voorbeeld 1:
Schrijf een query om een interval van 25 jaar vanaf de opgegeven datum te verwijderen, d.w.z. 24eOktober 2021.
Vraag:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_SUB() om een interval van 25 jaar vanaf de opgegeven datum te verwijderen. NEW_DATE is een alias om de waarde van een nieuwe datum op te slaan.
U krijgt de volgende uitvoer:
NIEUWE DATUM |
---|
24/10/1996 |
Na het verwijderen van het interval van 25 jaar vanaf 24-10-2021, is de nieuwe datum 24-10-1996.
Voorbeeld 2:
Schrijf een query om een interval van 5 maanden vanaf de opgegeven datum te verwijderen, d.w.z. 24eOktober 2021.
Vraag:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_SUB() om een interval van 5 maanden vanaf de opgegeven datum te verwijderen. NEW_DATE is een alias om de waarde van een nieuwe datum op te slaan.
U krijgt de volgende uitvoer:
NIEUWE DATUM |
---|
24-05-2021 |
Na het verwijderen van het interval van 5 maanden van 24-10-2021 is de nieuwe datum 24-05-2021.
Voorbeeld 3:
Schrijf een query om een interval van 15 dagen vanaf de opgegeven datum te verwijderen, d.w.z. 24eOktober 2021.
Vraag:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_SUB() om een interval van 15 dagen vanaf de opgegeven datum te verwijderen. NEW_DATE is een alias om de waarde van een nieuwe datum op te slaan.
U krijgt de volgende uitvoer:
NIEUWE DATUM |
---|
09-10-2021 |
Na het verwijderen van het interval van 15 dagen uit 24-10-2021, is de nieuwe datum 09-10-2021.
8. DATEDIFF()
Het gebruik van de functie DATEDIFF() in SQL geeft ons het aantal dagen dat tussen de twee gegeven datums valt.
Syntaxis:
SELECT DATEDIFF(Date1, Date2);
Voorbeeld 1:
Schrijf een query om het verschil tussen twee gegeven datums te berekenen, bijvoorbeeld 24eOktober 2021 en 9eOktober 2021.
Vraag:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_DIFF() om het verschil tussen de datums 24-10-2021 en 09-10-2021 te achterhalen. Number_of_Days is een alias om het verschil in aantal dagen op te slaan.
U krijgt de volgende uitvoer:
Aantal dagen |
---|
vijftien |
Er zit een verschil van 15 dagen tussen de data 24-10-2021 en 09-10-2021.
Voorbeeld 2:
Schrijf een query om het verschil tussen twee gegeven datums te berekenen, bijvoorbeeld 5eMei 2018 en 5eMei 2008.
Vraag:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Hier hebben we een SELECT-query geschreven met de functie DATE_DIFF () om het verschil tussen de datums 05-05-2018 en 05-05-2008 te verkrijgen. Number_of_Days is een alias om het verschil in aantal dagen op te slaan.
U krijgt de volgende uitvoer:
Aantal dagen |
---|
3652 |
Er is een verschil van 3652 dagen tussen de data 05-05-2018 en 05-05-2008.
9. DATE_FORMAT()
Met behulp van de functie DATE_FORMAT () in SQL kunnen we de datum- of tijdgerelateerde informatie op een goed opgemaakte manier weergeven.
Syntaxis van het gebruik van een DATE_FORMAT-functie in de kolom van een tabel:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
OF
Syntaxis om een specifieke datum op te maken:
SELECT DATE_FORMAT (Date, Expression);
Voorbeeld 1:
Schrijf een query om de opgegeven datum op een goed opgemaakte manier weer te geven, bijvoorbeeld 24eOktober 2021.
Vraag:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Hier hebben we een SELECT-query geschreven met de functie DATE_FORMAT () om de datum 24-10-2021 in de opgemaakte vorm te krijgen. Formatted_Date is een alias om de opgemaakte datum op te slaan.
bruisbuzz java
U krijgt de volgende uitvoer:
Opgemaakte_datum |
---|
Zondag 24 oktober 2021 |
Zondag 24 oktober 2021 is de geformatteerde datum voor 24-10-2021.
Voorbeeld 2:
Schrijf een query om de opgegeven datum en tijd op een goed opgemaakte manier weer te geven, bijvoorbeeld 24eOktober 2021 22:30:17.
Vraag:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Hier hebben we een SELECT-query geschreven met de functie DATE_FORMAT () om de datum en tijd '24-10-2021 22:30:17' in de opgemaakte vorm op te halen. Formatted_DateTime is een alias om de opgemaakte datum en tijd op te slaan.
U krijgt de volgende uitvoer:
Formatted_DateTime |
---|
Zondag 24 oktober 2021 22:30:17 uur |
Zondag 24 oktober 2021 22:30:17 uur is de geformatteerde datum en tijd voor 24-10-2021 22:30:17.
Voorbeeld 3:
Schrijf een query om alle details van de studentenkolom met de kolom DateTime_Birth op een goed opgemaakte manier weer te geven.
Vraag:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Hier hebben we een SELECT-query geschreven met de functie DATE_FORMAT () om de datum en tijd voor alle records in een opgemaakte vorm op te halen. Formatted_DateTime is een alias om de opgemaakte datum en tijd op te slaan.
U krijgt de volgende uitvoer:
ID kaart | Naam | Formatted_DateTime | Stad |
---|---|---|---|
1 | Mansi Sjah | Vrijdag 1 januari 2010 18:39:09 uur | Pune |
2 | Tejal Wagh | Donderdag 4 maart 2010 05:13:19 uur | Nasik |
3 | Sejal Kumari | Zaterdag 1 mei 2010 10:31:07 uur | Mumbai |
4 | Sonaal Jain | Donderdag 9 september 2010 17:17:07 uur | Shimla |
5 | Surili Maheshwari | Zaterdag 10 juli 2010 20:45:18 uur | Brief |
Alle records worden weergegeven zoals ze uit de studententabel komen, behalve de kolom DateTime_Birth. Alleen de datum en tijd worden weergegeven in de kolom Formatted_DateTime, zoals vereist.