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.