En MariaDB, GET_FORMAT() es una función de fecha y hora integrada que devuelve una cadena de formato.
Esta función puede ser útil cuando se trabaja con funciones que requieren una cadena de formato, como DATE_FORMAT() y STR_TO_DATE() .
Sintaxis
La sintaxis es así:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'}) Ejemplo
He aquí un ejemplo:
SELECT GET_FORMAT(DATE, 'EUR'); Resultado:
+-------------------------+ | GET_FORMAT(DATE, 'EUR') | +-------------------------+ | %d.%m.%Y | +-------------------------+
Esto nos muestra el formato a utilizar cuando se trabaja con fechas en formato EUR.
Aquí hay otro ejemplo. Esta vez devolvemos la cadena de formato ISO para fecha y hora:
SELECT GET_FORMAT(DATETIME, 'ISO'); Resultado:
+-----------------------------+ | GET_FORMAT(DATETIME, 'ISO') | +-----------------------------+ | %Y-%m-%d %H:%i:%s | +-----------------------------+
Con DATE_FORMAT()
En este ejemplo, uso GET_FORMAT() como segundo argumento del DATE_FORMAT() función. Esto me permite formatear la fecha sin tener que recordar la cadena de formato real a usar.
SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')); Resultado:
+---------------------------------------------------+
| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')) |
+---------------------------------------------------+
| 08.25.2030 |
+---------------------------------------------------+ Posibles cadenas de formato
Aquí hay una tabla de las posibles cadenas de formato:
| Argumentos | Formato resultante |
|---|---|
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’ |
Argumento faltante
Llamando a GET_FORMAT() con el número incorrecto de argumentos, o sin pasar ningún argumento, da como resultado un error:
SELECT GET_FORMAT(); Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
Y otro ejemplo:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' ); Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 'OOPS' )' at line 1