Probleem:
U wilt de datum halen uit een datum- en tijdkolom in een MySQL-database.
Voorbeeld:
Onze database heeft een tabel met de naam travel
met gegevens in de kolommen id
, first_name
, last_name
, en timestamp_of_booking
.
id | voornaam | achternaam | timestamp_of_booking |
---|---|---|---|
1 | Lisa | Watson | 2019-04-20 14:15:34 |
2 | Tom | Smith | 31-03-2019 20:10:14 |
3 | Andy | Markus | 2019-08-03 10:05:45 |
4 | Alice | Bruin | 2019-07-01 12:47:54 |
Laten we voor elke reiziger hun voor- en achternaam en de boekingsdatum alleen . (Opmerking:de timestamp_of_booking
kolom bevat zowel datum- als tijdgegevens.)
Oplossing:
We gebruiken de DATE()
functie. Dit is de vraag die je zou schrijven:
SELECT first_name, last_name, DATE(timestamp_of_booking) AS date_of_booking FROM travel;
Dit is het resultaat van de zoekopdracht:
voornaam | achternaam | date_of_booking |
---|---|---|
Lisa | Watson | 2019-04-20 |
Tom | Smith | 31-03-2019 |
Andy | Markus | 03-08-03 |
Alice | Bruin | 2019-07-01 |
Discussie:
Gebruik in MySQL de functie DATE() om de datum op te halen uit een datetime- of timestamp-waarde. Voor deze functie is slechts één argument nodig:ofwel een expressie die een waarde voor datum/datum/tijd/tijdstempel retourneert, ofwel de naam van een kolom Tijdstempel/datum/tijd. (In ons voorbeeld gebruiken we een kolom van de timestamp gegevenstype.)
De functie DATE() retourneert alleen de datumgegevens. In ons voorbeeld retourneert het '2019-03-31' voor Tom Smith's boekingsdatum. Merk op dat de tijdinformatie niet is inbegrepen.