sql >> Base de Datos >  >> RDS >> Mysql

Ejemplos de GET_FORMAT() – MySQL

En MySQL, puede usar GET_FORMAT() función para devolver una cadena de formato para los argumentos proporcionados. Esto puede ser útil cuando necesita proporcionar una cadena de formato a otra función, como DATE_FORMAT() o STR_TO_DATE() .

Sintaxis

La sintaxis oficial es así:

GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

Ejemplo 1:uso básico

Aquí hay un ejemplo para demostrar cómo funciona.

SELECT GET_FORMAT(DATE,'USA');

Resultado:

+------------------------+
| GET_FORMAT(DATE,'USA') |
+------------------------+
| %m.%d.%Y               |
+------------------------+

Entonces, este ejemplo devuelve la cadena de formato para EE. UU. Ahora podemos tomar esa cadena de formato y usarla en varias funciones de formato de fecha.

Así:

SELECT DATE_FORMAT('2020-03-07', '%m.%d.%Y') AS 'Formatted';

Resultado:

+------------+
| Formatted  |
+------------+
| 03.07.2020 |
+------------+

Sin embargo, también podemos pasar esta función directamente al DATE_FORMAT() función. Así:

SELECT DATE_FORMAT('2020-03-07', GET_FORMAT(DATE,'USA')) AS 'Formatted';

Resultado:

+------------+
| Formatted  |
+------------+
| 03.07.2020 |
+------------+

Esto nos evita tener que recordar qué cadena de formato usar:GET_FORMAT() hace eso por nosotros.

Ejemplo 2:valores de fecha

Este ejemplo enumera todas las variaciones del segundo argumento cuando el primer argumento es DATE .

SELECT 
    GET_FORMAT(DATE,'USA') AS 'USA',
    GET_FORMAT(DATE,'JIS') AS 'JIS',
    GET_FORMAT(DATE,'ISO') AS 'ISO',
    GET_FORMAT(DATE,'EUR') AS 'EUR',
    GET_FORMAT(DATE,'INTERNAL') AS 'INTERNAL';

Resultado:

+----------+----------+----------+----------+----------+
| USA      | JIS      | ISO      | EUR      | INTERNAL |
+----------+----------+----------+----------+----------+
| %m.%d.%Y | %Y-%m-%d | %Y-%m-%d | %d.%m.%Y | %Y%m%d   |
+----------+----------+----------+----------+----------+

Ejemplo 3:valores de fecha y hora

Este ejemplo enumera todas las variaciones del segundo argumento cuando el primer argumento es DATETIME .

SELECT 
    GET_FORMAT(DATETIME,'USA') AS 'USA',
    GET_FORMAT(DATETIME,'JIS') AS 'JIS',
    GET_FORMAT(DATETIME,'ISO') AS 'ISO',
    GET_FORMAT(DATETIME,'EUR') AS 'EUR',
    GET_FORMAT(DATETIME,'INTERNAL') AS 'INTERNAL';

Resultado:

+-------------------+-------------------+-------------------+-------------------+--------------+
| USA               | JIS               | ISO               | EUR               | INTERNAL     |
+-------------------+-------------------+-------------------+-------------------+--------------+
| %Y-%m-%d %H.%i.%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H:%i:%s | %Y-%m-%d %H.%i.%s | %Y%m%d%H%i%s |
+-------------------+-------------------+-------------------+-------------------+--------------+

Ejemplo 4:valores de tiempo

Este ejemplo enumera todas las variaciones del segundo argumento cuando el primer argumento es TIME .

SELECT 
    GET_FORMAT(TIME,'USA') AS 'USA',
    GET_FORMAT(TIME,'JIS') AS 'JIS',
    GET_FORMAT(TIME,'ISO') AS 'ISO',
    GET_FORMAT(TIME,'EUR') AS 'EUR',
    GET_FORMAT(TIME,'INTERNAL') AS 'INTERNAL';

Resultado:

+-------------+----------+----------+----------+----------+
| USA         | JIS      | ISO      | EUR      | INTERNAL |
+-------------+----------+----------+----------+----------+
| %h:%i:%s %p | %H:%i:%s | %H:%i:%s | %H.%i.%s | %H%i%s   |
+-------------+----------+----------+----------+----------+

Especificadores de unidades

La cadena de formato devuelta puede estar formada por cualquier combinación de los siguientes especificadores.

Especificador Descripción
%a Nombre abreviado del día de la semana (Sun ..Sat )
%b Nombre abreviado del mes (Jan ..Dec )
%c Mes, numérico (0 ..12 )
%D Día del mes con sufijo en inglés (0th , 1st , 2nd , 3rd , …)
%d Día del mes, numérico (00 ..31 )
%e Día del mes, numérico (0 ..31 )
%f Microsegundos (000000 ..999999 )
%H Hora (00 ..23 )
%h Hora (01 ..12 )
%I Hora (01 ..12 )
%i Minutos, numérico (00 ..59 )
%j Día del año (001 ..366 )
%k Hora (0 ..23 )
%l Hora (1 ..12 )
%M Nombre del mes (January ..Dec )
%m Mes, numérico (00 ..12 )
%p AM o PM
%r Hora, 12 horas (hh:mm:ss seguido de AM o PM )
%S Segundos (00 ..59 )
%s Segundos (00 ..59 )
%T Hora, 24 horas (hh:mm:ss )
%U Semana (00 ..53 ), donde el domingo es el primer día de la semana; WEEK() modo 0
%u Semana (00 ..53 ), donde el lunes es el primer día de la semana; WEEK() modo 1
%V Semana (01 ..53 ), donde el domingo es el primer día de la semana; WEEK() modo 2; usado con %X
%v Semana (01 ..53 ), donde el lunes es el primer día de la semana; WEEK() modo 3; usado con %x
%W Nombre del día de la semana (Sunday ..Sat )
%w Día de la semana (0 =Domingo..6 =sábado)
%X Año de la semana donde el domingo es el primer día de la semana, numérico, cuatro dígitos; usado con %V
%x Año de la semana, donde lunes es el primer día de la semana, numérico, cuatro dígitos; usado con %v
%Y Año, numérico, cuatro dígitos
%y Año, numérico (dos dígitos)
%% Un % literal personaje
%x x , para cualquier “x ” no listado arriba