Probleem:
U wilt het formaat van datum- en tijdgegevens in een MySQL-database wijzigen.
Voorbeeld:
Onze database heeft een tabel met de naam student_platform
met gegevens in de kolommen id
, first_name
, last_name
, en registration_datetime
.
id | voornaam | achternaam | registration_datetime |
---|---|---|---|
1 | Lora | Lorens | 2019-02-23 12:04:23 |
2 | Anne | Smith | 2018-07-10 10:12:15 |
3 | Tom | Jackson | 2019-03-09 08:20:33 |
4 | Richard | Willems | 2018-09-30 06:07:34 |
Laten we voor elke student hun voornaam, achternaam en registratiedatum en -tijd krijgen. We willen de datum en tijd echter in het volgende formaat weergeven:afgekorte naam van de weekdag, komma, jaar, naam van de maand, dag van de maand en de tijd in uren, minuten en seconden. Het zou er zo uit moeten zien:
Tue, 2019 February 17 11:18:55
Oplossing:
We gebruiken de DATE_FORMAT()
functie. Dit is de vraag die je zou schrijven:
SELECT first_name, last_name, DATE_FORMAT(registration_datetime,’%a, %Y %M %e %H:%i:%s’) AS format_registration_datetime FROM student_platform;
Dit is het resultaat van de zoekopdracht:
voornaam | achternaam | format_registration_datetime |
---|---|---|
Lora | Lorens | za, 23 februari 2019 12:04:23 |
Anne | Smith | di 10 juli 2018 10:12:15 |
Tom | Jackson | za 9 maart 2019 08:20:33 |
Richard | Willems | Ma, 30 september 2019 06:07:34 |
Discussie:
In een MySQL-database kunt u met de functie DATE_FORMAT() datum- en tijdgegevens in een gewijzigd formaat weergeven.
Deze functie heeft twee argumenten. De eerste is de datum/datumtijd die opnieuw moet worden geformatteerd; dit kan een kolom datum/tijd/datum/tijdstempel zijn of een expressie die een waarde in een van deze gegevenstypen retourneert. (In ons voorbeeld gebruiken we de registration_datetime
kolom van de datetime gegevenstype.)
Het tweede argument is een string die het gewenste datum- en tijdformaat bevat. MySQL stelt een aantal specificaties beschikbaar, zoals:
- %a – Afgekorte naam van de weekdag.
- %Y – Jaar, in 4 cijfers.
- %M – Volledige naam van de maand.
- %e – Dag van de maand (van 1 – 31).
- %H – Uur (van 00-23).
- %i – Minuten (van 00-59).
- %s – Seconden (van 00-59).
U kunt hier meer informatie vinden over datum- en tijdspecificaties, in de officiële MySQL-documentatie.
Bijvoorbeeld Lora Lorens geregistreerd op ‘2019-02-23 12:04:23’. Haar registratiedatum en -tijd hebben nu het nieuwe formaat 'Zat, 2019 februari 23 12:04:23'.