In MariaDB, GET_FORMAT() is een ingebouwde datum- en tijdfunctie die een opmaakreeks retourneert.
Deze functie kan handig zijn bij het werken met functies die een opmaakstring vereisen, zoals DATE_FORMAT() en STR_TO_DATE() .
Syntaxis
De syntaxis gaat als volgt:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'}) Voorbeeld
Hier is een voorbeeld:
SELECT GET_FORMAT(DATE, 'EUR'); Resultaat:
+-------------------------+ | GET_FORMAT(DATE, 'EUR') | +-------------------------+ | %d.%m.%Y | +-------------------------+
Dit toont ons het formaat dat moet worden gebruikt bij het werken met datums in EUR-formaat.
Hier is nog een voorbeeld. Deze keer retourneren we de ISO-notatiereeks voor datetime:
SELECT GET_FORMAT(DATETIME, 'ISO'); Resultaat:
+-----------------------------+ | GET_FORMAT(DATETIME, 'ISO') | +-----------------------------+ | %Y-%m-%d %H:%i:%s | +-----------------------------+
Met DATE_FORMAT()
In dit voorbeeld gebruik ik GET_FORMAT() als het tweede argument voor de DATE_FORMAT() functie. Hierdoor kan ik de datum formatteren zonder dat ik de daadwerkelijke opmaakreeks hoef te onthouden die ik moet gebruiken.
SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')); Resultaat:
+---------------------------------------------------+
| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')) |
+---------------------------------------------------+
| 08.25.2030 |
+---------------------------------------------------+ Mogelijke opmaakstrings
Hier is een tabel met de mogelijke opmaakstrings:
| Argumenten | Resulterende indeling |
|---|---|
DATE, 'EUR' | ‘%d.%m.%Y’ |
DATE, 'USA' | ‘%m.%d.%Y’ |
DATE, 'JIS' | ‘%Y-%m-%d’ |
DATE, 'ISO' | ‘%Y-%m-%d’ |
DATE, 'INTERNAL' | ‘%Y%m%d’ |
DATETIME, 'EUR' | ‘%Y-%m-%d %H.%i.%s’ |
DATETIME, 'USA' | ‘%Y-%m-%d %H.%i.%s’ |
DATETIME, 'JIS' | ‘%Y-%m-%d %H:%i:%s’ |
DATETIME, 'ISO' | ‘%Y-%m-%d %H:%i:%s’ |
DATETIME, 'INTERNAL' | ‘%Y%m%d%H%i%s’ |
TIME, 'EUR' | ‘%H.%i.%s’ |
TIME, 'USA' | ‘%h:%i:%s %p’ |
TIME, 'JIS' | ‘%H:%i:%s’ |
TIME, 'ISO' | ‘%H:%i:%s’ |
TIME, 'INTERNAL' | ‘%H%i%s’ |
Ontbrekend argument
GET_FORMAT() . aanroepen met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:
SELECT GET_FORMAT(); Resultaat:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
En nog een voorbeeld:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' ); Resultaat:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 'OOPS' )' at line 1