Dit artikel bevat voorbeelden van de DATE_FORMAT()
functie in MySQL.
De DATE_FORMAT()
functie stelt u in staat om een datum in een gespecificeerd formaat te retourneren. U kunt het bijvoorbeeld gebruiken om 18-06-2020 . te retourneren als donderdag juni 2020 , of welk ander formaat u ook nodig heeft.
Syntaxis
De syntaxis gaat als volgt:
DATE_FORMAT(date,format)
Waar date
is de datum die u wilt formatteren, en format
specificeert hoe het moet worden opgemaakt.
Zie de tabel onderaan dit artikel voor een lijst met geldige indelingsspecificaties. De formaatwaarde moet beginnen met een procentteken (%
).
Voorbeeld
Hier is een voorbeeld om te demonstreren.
SELECT DATE_FORMAT('2020-06-18', '%W, %M %Y') AS 'Result';
Resultaat:
+---------------------+ | Result | +---------------------+ | Thursday, June 2020 | +---------------------+
Korte/verkorte namen van dagen en maanden
Hier is een voorbeeld dat het resultaat opmaakt in korte dag- en maandnamen.
SELECT DATE_FORMAT('2020-06-18', '%a, %b %Y') AS 'Result';
Resultaat:
+---------------+ | Result | +---------------+ | Thu, Jun 2020 | +---------------+
Een databasevoorbeeld
Hier is een voorbeeld waarin we de waarde formatteren die wordt geretourneerd uit een databasekolom die is opgeslagen als een datetime-waarde.
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%W, %M %Y') AS 'Date' FROM payment WHERE payment_id = 1;
Resultaat:
+---------------------+---------------------+ | Date/Time | Date | +---------------------+---------------------+ | 2005-05-25 11:30:37 | Wednesday, May 2005 | +---------------------+---------------------+
De tijd opmaken
U kunt ook DATE_FORMAT()
. gebruiken om de tijdcomponent van een datetime op te maken waarde. Voorbeeld:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i:%s') AS 'Time' FROM payment WHERE payment_id = 1;
Resultaat:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30:37 | +---------------------+----------+
Hier is nog een voorbeeld waarbij ik de AM/PM . toevoeg aanduiding:
USE sakila; SELECT payment_date AS 'Date/Time', DATE_FORMAT(payment_date, '%h:%i %p') AS 'Time' FROM payment WHERE payment_id = 1;
Resultaat:
+---------------------+----------+ | Date/Time | Time | +---------------------+----------+ | 2005-05-25 11:30:37 | 11:30 AM | +---------------------+----------+
Beschikbare specificaties
De volgende specificaties kunnen worden gebruikt om het retourformaat te specificeren. De formaatwaarde moet beginnen met een procentteken (%
).
Beschrijving | Beschrijving |
---|---|
%a | Afgekorte naam van de weekdag (Sun ..Sat ) |
%b | Afgekorte maandnaam (Jan ..Dec ) |
%c | Maand, numeriek (0 ..12 ) |
%D | Dag van de maand met Engels achtervoegsel (0th , 1st , 2nd , 3rd , …) |
%d | Dag van de maand, numeriek (00 ..31 ) |
%e | Dag van de maand, numeriek (0 ..31 ) |
%f | Microseconden (000000 ..999999 ) |
%H | Uur (00 ..23 ) |
%h | Uur (01 ..12 ) |
%I | Uur (01 ..12 ) |
%i | Minuten, numeriek (00 ..59 ) |
%j | Dag van het jaar (001 ..366 ) |
%k | Uur (0 ..23 ) |
%l | Uur (1 ..12 ) |
%M | Maandnaam (January ..December ) |
%m | Maand, numeriek (00 ..12 ) |
%p | AM of PM |
%r | Tijd, 12 uur (hh:mm:ss gevolgd door AM of PM ) |
%S | Seconden (00 ..59 ) |
%s | Seconden (00 ..59 ) |
%T | Tijd, 24 uur (hh:mm:ss ) |
%U | Week (00 ..53 ), waarbij zondag de eerste dag van de week is; WEEK() modus 0 |
%u | Week (00 ..53 ), waarbij maandag de eerste dag van de week is; WEEK() modus 1 |
%V | Week (01 ..53 ), waarbij zondag de eerste dag van de week is; WEEK() modus 2; gebruikt met %X |
%v | Week (01 ..53 ), waarbij maandag de eerste dag van de week is; WEEK() modus 3; gebruikt met %x |
%W | Naam weekdag (Sunday ..Saturday ) |
%w | Dag van de week (0 =Zondag..6 =zaterdag) |
%X | Jaar voor de week waarin zondag de eerste dag van de week is, numeriek, vier cijfers; gebruikt met %V |
%x | Jaar voor de week, waarbij maandag de eerste dag van de week is, numeriek, vier cijfers; gebruikt met %v |
%Y | Jaar, numeriek, vier cijfers |
%y | Jaar, numeriek (twee cijfers) |
%% | Een letterlijke % karakter |
% | x , voor elke “x ” niet hierboven vermeld |