Problem:
Du vil gerne hente datoen fra en dato- og tidskolonne i en MySQL-database.
Eksempel:
Vores database har en tabel ved navn travel
med data i kolonnerne id
, first_name
, last_name
, og timestamp_of_booking
.
id | fornavn | efternavn | tidsstempel_for_booking |
---|---|---|---|
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 |
Lad os for hver rejsende få kun deres for- og efternavn og reservationsdatoen . (Bemærk:timestamp_of_booking
kolonne indeholder både dato- og tidsdata.)
Løsning:
Vi bruger DATE()
fungere. Her er den forespørgsel, du ville skrive:
SELECT first_name, last_name, DATE(timestamp_of_booking) AS date_of_booking FROM travel;
Her er resultatet af forespørgslen:
fornavn | efternavn | bookingsdato |
---|---|---|
Lisa | Watson | 2019-04-20 |
Tom | Smith | 2019-03-31 |
Andy | Markus | 2019-08-03 |
Alice | Brun | 2019-07-01 |
Diskussion:
I MySQL skal du bruge DATE()-funktionen til at hente datoen fra en datetime- eller tidsstempelværdi. Denne funktion tager kun ét argument – enten et udtryk, der returnerer en dato/dato/tidsstempelværdi eller navnet på en tidsstempel/datotid-kolonne. (I vores eksempel bruger vi en kolonne med tidsstemplet datatype.)
Funktionen DATE() returnerer kun datooplysningerne. I vores eksempel returnerer det "2019-03-31" for Tom Smiths booking dato. Bemærk, at tidsoplysningerne ikke er inkluderet.