In MySQL kunt u de GET_FORMAT()
functie om een opmaakreeks voor de opgegeven argumenten te retourneren. Dit kan handig zijn wanneer u een opmaakreeks moet opgeven voor een andere functie, zoals DATE_FORMAT()
of STR_TO_DATE()
.
Syntaxis
De officiële syntaxis gaat als volgt:
GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld om te laten zien hoe het werkt.
SELECT GET_FORMAT(DATE,'USA');
Resultaat:
+------------------------+ | GET_FORMAT(DATE,'USA') | +------------------------+ | %m.%d.%Y | +------------------------+
Dus dit voorbeeld retourneert de format string voor USA. We kunnen nu die opmaakreeks gebruiken en gebruiken in verschillende datumopmaakfuncties.
Zoals dit:
SELECT DATE_FORMAT('2020-03-07', '%m.%d.%Y') AS 'Formatted';
Resultaat:
+------------+ | Formatted | +------------+ | 03.07.2020 | +------------+
We kunnen deze functie echter ook rechtstreeks doorgeven aan de DATE_FORMAT()
functie. Zoals dit:
SELECT DATE_FORMAT('2020-03-07', GET_FORMAT(DATE,'USA')) AS 'Formatted';
Resultaat:
+------------+ | Formatted | +------------+ | 03.07.2020 | +------------+
Dit bespaart ons dus dat we moeten onthouden welke tekenreeks we moeten gebruiken - GET_FORMAT()
doet dat voor ons.
Voorbeeld 2 – Datumwaarden
Dit voorbeeld geeft een overzicht van alle varianten van het tweede argument wanneer het eerste argument DATE
is .
SELECT GET_FORMAT(DATE,'USA') AS 'USA', GET_FORMAT(DATE,'JIS') AS 'JIS', GET_FORMAT(DATE,'ISO') AS 'ISO', GET_FORMAT(DATE,'EUR') AS 'EUR', GET_FORMAT(DATE,'INTERNAL') AS 'INTERNAL';
Resultaat:
+----------+----------+----------+----------+----------+ | USA | JIS | ISO | EUR | INTERNAL | +----------+----------+----------+----------+----------+ | %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d | +----------+----------+----------+----------+----------+
Voorbeeld 3 – Datum/tijd-waarden
Dit voorbeeld geeft een overzicht van alle varianten van het tweede argument wanneer het eerste argument DATETIME
is .
SELECT GET_FORMAT(DATETIME,'USA') AS 'USA', GET_FORMAT(DATETIME,'JIS') AS 'JIS', GET_FORMAT(DATETIME,'ISO') AS 'ISO', GET_FORMAT(DATETIME,'EUR') AS 'EUR', GET_FORMAT(DATETIME,'INTERNAL') AS 'INTERNAL';
Resultaat:
+-------------------+-------------------+-------------------+-------------------+--------------+ | USA | JIS | ISO | EUR | INTERNAL | +-------------------+-------------------+-------------------+-------------------+--------------+ | %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s | +-------------------+-------------------+-------------------+-------------------+--------------+
Voorbeeld 4 – Tijdwaarden
Dit voorbeeld geeft een overzicht van alle varianten van het tweede argument wanneer het eerste argument TIME
is .
SELECT GET_FORMAT(TIME,'USA') AS 'USA', GET_FORMAT(TIME,'JIS') AS 'JIS', GET_FORMAT(TIME,'ISO') AS 'ISO', GET_FORMAT(TIME,'EUR') AS 'EUR', GET_FORMAT(TIME,'INTERNAL') AS 'INTERNAL';
Resultaat:
+-------------+----------+----------+----------+----------+ | USA | JIS | ISO | EUR | INTERNAL | +-------------+----------+----------+----------+----------+ | %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s | +-------------+----------+----------+----------+----------+
Eenheidspecificaties
De geretourneerde notatietekenreeks kan bestaan uit elke combinatie van de volgende specificaties.
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 |