I MariaDB, GET_FORMAT()
er en indbygget dato- og tidsfunktion, der returnerer en formatstreng.
Denne funktion kan være nyttig, når du arbejder med funktioner, der kræver en formatstreng, såsom DATE_FORMAT()
og STR_TO_DATE()
.
Syntaks
Syntaksen ser sådan ud:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Eksempel
Her er et eksempel:
SELECT GET_FORMAT(DATE, 'EUR');
Resultat:
+------------------------+| GET_FORMAT(DATE, 'EUR') |+------------------------+| %d.%m.%Y |+-------------------------+
Dette viser os det format, der skal bruges, når man arbejder med datoer i EUR-format.
Her er et andet eksempel. Denne gang returnerer vi ISO-formatstrengen for datetime:
SELECT GET_FORMAT(DATETIME, 'ISO');
Resultat:
+-------------------------------------+| GET_FORMAT(DATETIME, 'ISO') |+-----------------------------------+| %Y-%m-%d %H:%i:%s |+-----------------------------------+Med
DATE_FORMAT()
I dette eksempel bruger jeg
GET_FORMAT()
som det andet argument tilDATE_FORMAT()
fungere. Dette gør det muligt for mig at formatere datoen uden at skulle huske den faktiske formatstreng, der skal bruges.SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));
Resultat:
+---------------------------------------------- -----+| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')) |+------------------------------------ ----------------------+| 25.08.2030 |+---------------------------------------------------- ------+Mulige formatstrenge
Her er en tabel over de mulige formatstrenge:
Argumenter | Resultatformat |
---|---|
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’ |
Manglende argument
Kalder GET_FORMAT()
med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:
SELECT GET_FORMAT();
Resultat:
FEJL 1064 (42000):Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MariaDB-serverversion for den rigtige syntaks til brug i nærheden af ')' på linje 1
Og endnu et eksempel:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );
Resultat:
FEJL 1064 (42000):Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MariaDB-serverversion for den rigtige syntaks til brug nær ''OOPS')' på linje 1