sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer GET_FORMAT() i MariaDB

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

  1. Sådan konfigureres SELinux til MySQL-baserede systemer (MySQL/MariaDB Replication + Galera)

  2. Konverter Unix-tidsstempel til menneskelig læsbar dato ved hjælp af MySQL

  3. Hvordan får man adgang til array internt indeks med postgreSQL?

  4. MariaDB MaxScale Load Balancing på Docker:Management:Anden del