I MariaDB, GET_FORMAT()
är en inbyggd datum- och tidsfunktion som returnerar en formatsträng.
Den här funktionen kan vara användbar när du arbetar med funktioner som kräver en formatsträng, till exempel DATE_FORMAT()
och STR_TO_DATE()
.
Syntax
Syntaxen ser ut så här:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Exempel
Här är ett exempel:
SELECT GET_FORMAT(DATE, 'EUR');
Resultat:
+------------------------+| GET_FORMAT(DATE, 'EUR') |+------------------------+| %d.%m.%Y |+-------------------------+
Detta visar oss vilket format som ska användas när man arbetar med datum i EUR-format.
Här är ett annat exempel. Den här gången returnerar vi ISO-formatsträngen för datetime:
SELECT GET_FORMAT(DATETIME, 'ISO');
Resultat:
+-------------------------------------+| GET_FORMAT(DATETIME, 'ISO') |+-----------------------------------+| %Y-%m-%d %H:%i:%s |+-----------------------------------+Med
DATE_FORMAT()
I det här exemplet använder jag
GET_FORMAT()
som det andra argumentet tillDATE_FORMAT()
fungera. Detta gör att jag kan formatera datumet utan att behöva komma ihåg den faktiska formatsträngen som ska användas.SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));
Resultat:
+------------------------------------------------------ -----+| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')) |+------------------------------------ ----------------------------+| 2030-08-25 |+---------------------------------------------------- ------+Möjliga formatsträngar
Här är en tabell över möjliga formatsträngar:
Argument | 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’ |
Argument saknas
Anropar GET_FORMAT()
med fel antal argument, eller utan att skicka några argument, resulterar i ett fel:
SELECT GET_FORMAT();
Resultat:
ERROR 1064 (42000):Du har ett fel i din SQL-syntax; kontrollera manualen som motsvarar din MariaDB-serverversion för rätt syntax att använda nära ')' på rad 1
Och ett annat exempel:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );
Resultat:
ERROR 1064 (42000):Du har ett fel i din SQL-syntax; kontrollera manualen som motsvarar din MariaDB-serverversion för rätt syntax att använda nära ''OOPS')' på rad 1