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.