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