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.