Problem:
Du vill hämta datumet från en datum- och tidskolumn i en MySQL-databas.
Exempel:
Vår databas har en tabell som heter travel med data i kolumnerna id , first_name , last_name , och timestamp_of_booking .
| id | förnamn | efternamn | tidsstämpel_för_bokning |
|---|---|---|---|
| 1 | Lisa | Watson | 2019-04-20 14:15:34 |
| 2 | Tom | Smith | 2019-03-31 20:10:14 |
| 3 | Andy | Markus | 2019-08-03 10:05:45 |
| 4 | Alice | Brun | 2019-07-01 12:47:54 |
För varje resenär får vi endast deras för- och efternamn samt bokningsdatum . (Obs:timestamp_of_booking kolumnen innehåller både datum- och tidsdata.)
Lösning:
Vi använder DATE() fungera. Här är frågan du skulle skriva:
SELECT first_name,
last_name,
DATE(timestamp_of_booking)
AS date_of_booking
FROM travel;
Här är resultatet av frågan:
| förnamn | efternamn | bokningsdatum |
|---|---|---|
| Lisa | Watson | 2019-04-20 |
| Tom | Smith | 2019-03-31 |
| Andy | Markus | 2019-08-03 |
| Alice | Brun | 2019-07-01 |
Diskussion:
I MySQL använder du DATE()-funktionen för att hämta datumet från ett datum- och tidsstämpelvärde. Den här funktionen tar bara ett argument – antingen ett uttryck som returnerar ett datum/datumtid/tidsstämpelvärde eller namnet på en tidsstämpel/datumtidkolumn. (I vårt exempel använder vi en kolumn med tidsstämpel datatyp.)
Funktionen DATE() returnerar endast datuminformationen. I vårt exempel returnerar det "2019-03-31" för Tom Smiths bokningsdatum. Observera att tidsinformationen inte ingår.