sql >> Databasteknik >  >> RDS >> MariaDB

Hur GET_FORMAT() fungerar i MariaDB

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 till DATE_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

  1. Hur väljer du var n:e rad från mysql

  2. PostgreSQL vs Linux-kärnversioner

  3. villkorlig gå med i mysql

  4. Få dagen från ett datum i PostgreSQL