GNU/Linux >> Tutoriales Linux >  >> Cent OS

Guía de función de fecha de MySQL con ejemplos

Introducción

MySQL viene con muchas funciones integradas que le permiten manipular datos. Estas funciones se agrupan en categorías:funciones de fecha, funciones de cadena, funciones matemáticas y otras.

Las funciones de fecha le brindan numerosas opciones sobre cómo modificar, calcular y convertir expresiones de fecha, hora y fechahora en MySQL.

En este tutorial, aprenderá sobre las funciones de fecha y hora de MySQL y cómo funcionan, en ejemplos prácticos.

Funciones relacionadas con la fecha

FECHA ACTUAL O FECHA_ACTUAL

Devuelve la fecha actual en el formato "YYY-MM-DD" o "YYYYMMDD" con el CURDATE O CURRENT_DATE comando.

La sintaxis básica:

CURDATE();

Por ejemplo, si ejecuta:

SELECT CURDATE();

MySQL responde con la fecha actual en el formato:

2021-01-17

FECHA

Devuelve la fecha de una expresión de fecha y hora usando DATE comando.

La sintaxis básica:

DATE(datetime);

Por ejemplo, si ejecuta:

SELECT DATE('2021-01-17 10:12:16');

La salida es:

2021-01-17

DATE_ADD o ADDDATE

Agregue un valor de hora/fecha a una expresión de fecha con DATE_ADD o ADDDATE función.

La sintaxis básica:

DATE_ADD(date, INTERVAL value unit);

Reemplazar fecha con la expresión de fecha a la que desea agregar una hora/fecha. La unidad de valor es la hora/fecha que desea agregar. Debe expresarse en un valor numérico junto con la unidad del valor.

La unidad puede ser:

  • SEGUNDO
  • MINUTO
  • HORA
  • DÍA
  • SEMANA
  • MES
  • TRIMESTRE
  • AÑO
  • SEGUNDO_MICROSEGUNDO
  • MINUTO_MICROSEGUNDO
  • MINUTO_SEGUNDO
  • HORA_MICROSEGUNDO
  • HORA_SEGUNDO
  • HORA_MINUTO
  • DÍA_MICROSEGUNDO
  • DÍA_SEGUNDO
  • DÍA_MINUTO
  • DÍA_HORA
  • AÑO_MES

Por ejemplo, si ejecuta:

SELECT DATE_ADD('2021-01-17 07:14:21', INTERVAL 20 MINUTE);

La salida devuelve el resultado:

2021-01-17 07:34:21

FORMATO_FECHA

Dar formato a una fecha usando DATE_FORMAT .

La sintaxis básica:

DATE_FORMAT(date, format);

La fecha es la expresión de fecha que desea reformatear, mientras que el formato es una combinación de los siguientes especificadores:

Por ejemplo, si ejecuta:

SELECT DATE_FORMAT('2021-01-17', '%W %M %Y');

La salida muestra el resultado:

Sunday January 2021

DATE_SUB o SUBDATE

Restar un valor de hora/fecha a una expresión de fecha con DATE_SUB o SUBDATE función.

La sintaxis básica:

DATE_SUB(date, INTERVAL value unit);

Reemplazar fecha con la expresión de fecha de la que desea restar. La unidad de valor es la hora/fecha que desea restar. Debe expresarse en valor numérico junto con la unidad del valor.

Encuentre una lista de tipos de unidad en la sección DATE_ADD.

Por ejemplo, si ejecuta:

SELECT DATE_SUB('2021-01-17 07:14:21', INTERVAL 1 HOUR);

La salida devuelve el resultado:

2021-01-17 06:14:21

DIF.DE FECHA

Devuelve el número de días entre dos expresiones de fecha con DATEDIFF función.

La sintaxis básica:

DATEDIFF(date1,date2);

Por ejemplo:

SELECT DATEDIFF('2021-01-23','2021-01-14');

Devuelve el resultado:

9

EXTRACTO

Para extraer parte de una expresión de fecha/fechahora, utilice EXTRACT función.

La sintaxis básica:

EXTRACT(unit FROM date);

En el comando, debe especificar qué unidad desea extraer de la fecha especificada .

Encuentre una lista de unidades que puede usar en la descripción DATE_ADD.

Por ejemplo, cuando ejecuta:

SELECT EXTRACT(DAY FROM '2021-01-26');

Obtienes el resultado:

26

GET_FORMAT

Devuelve una cadena de formato (una combinación de especificadores) como se especifica en el argumento con GET_FORMAT . Esta función se usa a menudo con DATE_FORMAT .

La sintaxis básica:

GET_FORMAT(DATE/TIME/DATETIME,format)

Utilice esta función con expresiones de fecha, hora y fechahora.

El formato puede ser:

  • 'EUR'
  • 'Estados Unidos'
  • 'JIS'
  • 'ISO'
  • 'INTERNO'

Hay un número finito de resultados que puede obtener usando GET_FORMAT función. A continuación encontrará una lista de todas las llamadas a funciones y sus resultados.

Por ejemplo, podría combinar la función con DATE_FORMAT , como en el siguiente ejemplo:

SELECT DATE_FORMAT('2021-01-26', GET_FORMAT(DATE,'EUR'));

Donde el resultado es:

26.01.2021

FECHA

Devuelve una expresión de fecha de un año y día del año especificados usando MAKEDATE función.

La sintaxis básica:

MAKEDATE(year,day);

Por ejemplo, si ejecuta:

SELECT MAKEDATE(2021,34);

La salida muestra el resultado:

2021-02-03

STR_TO_DATE

Dar formato a una fecha a partir de una cadena con STR_TO_DATE y devolver un valor de fecha/fechahora.

La sintaxis básica:

STR_TO_DATE(string, format);

La cadena es lo que desea reformatear, mientras que formatear es una combinación de especificadores que describen cada elemento de la cadena .

Puede encontrar una lista de especificadores y su significado en la sección DATE_FORMAT.

Por ejemplo, si ejecuta:

SELECT STR_TO_DATE('January,25,2021', '%M %e %Y');

La salida muestra:

2021-01-25

SISTEMA

Para devolver la fecha y la hora actuales en el formato "AAAA-MM-DD hh:mm:ss" o "AAAAMMDDHHMMSS.uuuuuu", utilice el SYSDATE función.

La sintaxis básica:

SYSDATE();

Puede agregar el fsp argumento para incluir precisión de fracciones de segundo (0-6). En ese caso, la sintaxis es SYSDATE(fsp); .

El comando que se muestra a continuación:

SELECT SYSDATE();

En este momento da el resultado:

2021-01-25 20:21:04

FECHA_UTC

Devuelve el valor de la fecha de hora universal coordinada (UTC) actual en el formato "AAAA-MM-DD" o "AAAAMMDD" con el UTC_DATE función.

La sintaxis básica:

UTC_DATE();

Por ejemplo, ejecutando el siguiente comando:

SELECT UTC_DATE();

Devuelve la fecha actual que es:

2021-01-25

Funciones relacionadas con el tiempo

AÑADIR TIEMPO

Agregue un intervalo de tiempo a una expresión de hora/fechahora específica usando ADDTIME .

La sintaxis básica:

ADDTIME(datetime, timevalue)

Por ejemplo, si ejecuta:

SELECT ADDTIME('2021-01-25 08:13:11.000021', '3:14:32.000006');

Obtienes el resultado:

2021-01-25 11:27:43.000027

CONVERTIR_TZ

Convierta una expresión de hora/fechahora de una zona horaria a otra usando ADDTIME función.

La sintaxis básica:

CONVERT_TZ(datetime, from_timezone,to_timezone)

Por ejemplo, cuando ejecuta:

SELECT CONVERT_TZ('2021-01-25 10:12:00','+00:00','+10:00');

MySQL convierte la fecha y hora especificada a la zona horaria +10:00:

2021-01-25 20:12:00

CURTIME o CURRENT_TIME

Devuelve la hora actual usando CURTIME o CURRENT_TIME función. El resultado devuelve la hora en el formato "hh:mm:ss" o "hhmmss".

La sintaxis básica:

CURTIME();

Puede incluir precisión de fracciones de segundo (de 0 a 6) agregando el fsp argumento.

Por ejemplo, el siguiente comando muestra la hora actual con una precisión de tres fracciones de segundo:

CURTIME(3);

La salida responde con el resultado:

15:19:07.340

HORA

Devuelve la hora de la hora/fechahora especificada con HOUR función.

La sintaxis básica:

TIME(datetime);

Por ejemplo, si ejecuta:

SELECT HOUR('08:40:07');

El resultado es:

8

HACER TIEMPO

Devuelve una expresión de tiempo a partir de los valores de hora, minuto y segundo especificados mediante MAKETIME función.

La sintaxis básica:

MAKETIME(hour, minute, second);

Por ejemplo, puede ejecutar:

SELECT MAKETIME(09,25,00);

Donde la salida muestra:

09:25:00

MICROSEGUNDO

Devuelve los microsegundos de la expresión de hora/fechahora especificada con MICROSECOND .

La sintaxis básica:

MICROSECOND(datetime);

Por ejemplo, puede ejecutar:

SELECT MICROSECOND('2021-01-21 10:23:44.000040');

Donde el resultado es:

40

MINUTO

Devuelve los minutos de la expresión de hora/fechahora especificada utilizando MINUTE función.

La sintaxis básica:

MINUTE(datetime);

Por ejemplo, si ejecuta el comando:

SELECT MINUTE('10:23:44');

El resultado es:

23

SEGUNDOS_A_HORA

Devuelve un valor de tiempo a partir de un valor de segundos especificado con SEC_TO_TIME función.

La sintaxis básica:

SEC_TO_TIME(seconds);

Por ejemplo, si ejecuta el comando:

SELECT SEC_TO_TIME(8897);

La salida es:

02:28:17

SUBTIME

Restar un valor de tiempo de una expresión de hora/fechahora usando SUBTIME función.

La sintaxis básica:

SUBTIME(datetime,timevalue);

Por ejemplo, cuando ejecuta:

SELECT SUBTIME('2021-01-21 21:24:00','2:20:1');

La salida es:

2021-01-21 19:03:59

TIEMPO

Para devolver el valor de tiempo de una expresión de fecha y hora, use el TIME función.

La sintaxis básica:

TIME(datetime);

Por ejemplo:

SELECT TIME('2021-01-22 13:38:10');

Da el resultado:

13:38:10

FORMATO_HORA

Formatee un valor de tiempo en el formato especificado con TIME_FORMAT .

La sintaxis básica:

TIME_FORMAT(time,format);

El formato es una combinación de especificadores. Puede encontrar una lista de todos los especificadores y su significado en la descripción de la función DATE_FORMAT.

Por ejemplo, ejecutando:

SELECT TIME_FORMAT('13:45:10','%h %i %s %p');

Obtienes el resultado:

01 45 10 PM

TIME_TO_SEC

Para devolver el valor de tiempo convertido en segundos, use TIME_TO_SEC .

La sintaxis básica:

TIME_TO_SEC(timevalue);

Por ejemplo, cuando ejecuta:

SELECT TIME_TO_SEC('13:48:05');

El resultado es:

49685

TIEMPO DIFERENCIA

Calcule la diferencia entre dos expresiones de hora/fechahora con TIMEDIFF función. En este caso, el resultado siempre está en valor de tiempo.

La sintaxis básica:

TIMEDIFF(datetime1,datetime2);

Por ejemplo, cuando ejecuta:

SELECT TIMEDIFF('2021-01-15 11:10:17','2021-01-05 11:10:16');

La salida devuelve:

240:00:01

TO_SEGUNDOS

Para convertir una expresión de fecha/fechahora en segundos, use la función TO_SECONDS . El resultado es el número de segundos entre 0 y la fecha/fechahora especificada.

La sintaxis básica:

TO_SECONDS(datetime);

Por ejemplo, si ejecuta el comando:

SELECT TO_SECONDS('2021-01-21 08:10:17');

El resultado es:

63778435817

UTC_TIME

Devuelve el valor de la hora UTC actual con UTC_TIME . Devuelve el valor de la hora en el formato "HH:MM:SS" o "HHMMSS".

La sintaxis básica:

UTC_TIME();

Por ejemplo, si ejecuta:

SELECT UTC_TIME();

Obtienes el resultado en este momento:

19:45:21

Funciones relacionadas con la marca de tiempo

CURRENT_TIMESTAMP o LOCALTIMESTAMP

Para devolver la fecha y hora actuales, use CURRENT_TIMESTAMP o LOCALTIMESTAMP . El resultado regresa en el formato "YYYY-MM-DD HH-MM-SS" o "YYYYMMDDHHMMSS.uuuuuu".

La sintaxis básica:

CURRENT_TIMESTAMP();

Por ejemplo, ejecutando:

SELECT CURRENT_TIMESTAMP();

El resultado actual es:

2021-01-25 19:53:55

DESDE_UNIXTIME

Devuelve una expresión de fecha/fechahora desde una marca de tiempo en formato Unix con FROM_UNIXTIME .

La sintaxis básica:

FROM_UNIXTIME(unix_timestamp);

Si ejecuta el comando sin un argumento que especifique el formato, devuelve el resultado en el formato "YYYY-MM-DD hh:mm:ss" o "YYYYMMDDhhmmss".

Por ejemplo, si ejecuta:

SELECT FROM_UNIXTIME(1611231404);

Obtienes el resultado:

2021-01-21 12:16:44

MARCA DE TIEMPO

Para devolver una expresión de fecha y hora a partir de una fecha o un valor de fecha y hora, utilice la función TIMESTAMP . Si agrega dos argumentos, la salida devuelve la suma de los argumentos.

La sintaxis básica:

TIMESTAMP(datetime);
TIMESTAMP(datetime,time);

Por ejemplo, cuando ejecuta el comando:

SELECT TIMESTAMP('2021-01-13','30:50:00');

La salida muestra el resultado:

2021-01-14 06:50:00

TIMESTAMPADD

Agregue un valor de tiempo a una expresión de fecha/fechahora usando TIMESTAMPADD función.

La sintaxis básica:

TIMESTAMPADD(unit,value,datetime);

La unidad puede ser:

  • FRAC_SEGUNDO
  • SEGUNDO
  • MINUTO
  • HORA
  • DÍA
  • SEMANA
  • MES
  • TRIMESTRE
  • AÑO

Por ejemplo, el siguiente comando agrega 3 días a la fecha especificada:

SELECT TIMESTAMPADD(DAY,3,'2021-01-18');

Por lo tanto, la salida muestra:

2021-01-21

TIMESTAMPDIFF

Para calcular la diferencia entre dos expresiones de fecha/fechahora, use TIMESTAMPDIFF . La función resta un valor de fecha y hora del otro en la unidad especificada.

La sintaxis básica:

TIMESTAMPDIFF(unit,datetime1,datetime2);

Puede encontrar una lista con diferentes tipos de unidades, consulte la lista en la sección anterior.

Por ejemplo, puede calcular la diferencia entre las siguientes dos fechas en días:

SELECT TIMESTAMPDIFF(DAY,3,'2021-01-18');

Donde el resultado es:

13

UNIX_TIMESTAMP

Devuelve una marca de tiempo Unix de una expresión de fecha/fechahora con UNIX_TIMESTAMP función. La marca de tiempo de Unix representa los segundos entre la fecha y hora especificada y "1970-01-01 00:00:00" UTC.

La sintaxis básica:

UNIX_TIMESTAMP(datetime);

Por ejemplo, ejecutando el siguiente comando:

SELECT UNIX_TIMESTAMP('2021-01-25 17:33:00');

Da el resultado:

1611595980

UTC_TIMESTAMP

Devuelve el valor de fecha y hora UTC actual con UTC_TIMESTAMP . Devuelve el valor de fecha y hora en formato "AAAA-MM-DD HH:MM:SS" o "AAAAMMDDHHMMSS.uuuuuu".

La sintaxis básica:

UTC_TIMESTAMP(datetime);

Por ejemplo, el comando:

SELECT UTC_TIMESTAMP();

Devuelve la salida en el mismo formato que el siguiente:

2021-01-25 23:18:06

Funciones relacionadas con el día/semana/mes/año

DÍA

Devuelve el día de un mes a partir de una expresión de fecha/fechahora especificada con DAY función.

La sintaxis básica:

DAY(datetime);

Si ejecuta el siguiente comando:

SELECT DAY('2021-01-26 12:32:00');

La salida devuelve el resultado:

26

NOMBRE DEL DÍA

Devuelve el nombre del día de la semana a partir de una expresión de fecha/fechahora específica mediante DAYNAME función.

La sintaxis básica:

DAYNAME(datetime);

Por ejemplo, cuando ejecuta el comando:

SELECT DAYNAME('2021-01-26 12:32:00');

MySQL responde con el resultado:

Tuesday

DÍA DEL MES

Devuelve el día de un mes a partir de una expresión de fecha/fechahora especificada con DAYOFMONTH .

La sintaxis básica:

DAYOFMONTH(datetime);

Por ejemplo, cuando ejecuta el comando:

SELECT DAYOFMONTH('2021-01-26 12:32:00');

MySQL responde con el resultado:

26

DÍA DE LA SEMANA

Devuelve el día de la semana en valor numérico de la expresión de fecha/fechahora especificada usando DAYOFWEEK .

La sintaxis básica:

DAYOFWEEK(datetime);

Ejecutando el siguiente comando:

SELECT DAYOFWEEK('2021-01-26 12:32:00');

Da la respuesta:

3

DÍA DEL AÑO

Devuelve el día del año a partir de la expresión de fecha/fechahora especificada mediante la función DAYOFYEAR .

La sintaxis básica:

DAYOFYEAR(datetime);

Por ejemplo, cuando ejecuta el comando:

SELECT DAYOFYEAR('2021-02-26 12:32:00');

La salida da el resultado:

57

DESDE_DÍAS

Devuelve una expresión de fecha a partir de una representación numérica de un día usando la función FROM_DAYS .

La sintaxis básica:

FROM_DAYS(number);

Por ejemplo, ejecutando:

SELECT FROM_DAYS(738181);

El indicador de MySQL responde con el resultado:

2021-01-26

ÚLTIMO_DÍA

Devuelve el último día del mes a partir de una fecha/fechahora especificada con LAST_DAY función.

La sintaxis básica:

LAST_DAY(date);

Por ejemplo, si ejecuta el siguiente comando:

SELECT LAST_DAY('2021-01-26');

La salida responde con:

31

MES

Devuelve el mes (en valor numérico) a partir de una fecha/fechahora específica usando el MONTH función.

La sintaxis básica:

MONTH(date);

Por ejemplo, cuando ejecuta:

SELECT MONTH('2021-01-26');

MySQL responde con:

1

NOMBRE DEL MES

Devuelve el nombre del mes a partir de una fecha/fechahora especificada con MONTHNAME función.

La sintaxis básica:

MONTHNAME(date);

Si ejecuta el comando:

SELECT MONTH('2021-01-26');

Obtienes la siguiente respuesta:

January

PERIOD_ADD

Para agregar un número específico de meses a un período, use el PERIOD_ADD función.

La sintaxis básica:

PERIOD_ADD(period,number);

El período se define en el formato YYMM o YYYYMM, mientras que el número es el número de meses que desea agregar.

Por ejemplo:

SELECT PERIOD_ADD(202101, 5);

Da el resultado:

202106

PERIOD_DIFF

Devuelve el número de meses entre dos períodos con PERIOD_DIFF .

La sintaxis básica:

PERIOD_DIFF(period1,period2);

Cada período debe tener el formato AAMM o AAAAMM.

Por ejemplo:

SELECT PERIOD_DIFF(202101, 202003);

Produce el resultado:

10

TRIMESTRE

Para devolver un cuarto de año a partir de una fecha/fechahora específica, use la función QUARTER .

La sintaxis básica:

QUARTER(date);

Por ejemplo, ejecutando el comando:

SELECT QUARTER('2021-01-26');

La salida responde con:

1

TO_DAYS

Convierta una expresión de fecha/fechahora en una representación numérica de un día con TO_DAYS .

La sintaxis básica:

TO_DAYS(datetime);

Por ejemplo, para el comando:

SELECT TO_DAYS('2021-01-26');

El resultado es:

738181

SEMANA

Para devolver el número de semana de una fecha específica, use la función WEEK .

La sintaxis básica:

WEEK(date);

También puedes incluir el modo argumento, en cuyo caso la sintaxis es WEEK(date,mode); .

El argumento de modo especifica a partir de qué día comienza la semana. Si no hay argumento, usa 0 modo predeterminado.

La siguiente tabla describe cada modo:

Por ejemplo, si ejecuta:

SELECT WEEK('2021-01-26');

La salida responde con:

4

DÍA DE LA SEMANA

Devuelve el día de la semana a partir de la fecha especificada en valor numérico con WEEKDAY . Cada número representa uno de los días de la semana:lunes es 0 , martes es 1 , y así sucesivamente.

La sintaxis básica:

WEEKDAY(date);

Por ejemplo, ejecutando el siguiente comando:

SELECT WEEKDAY('2021-01-26');

Da la respuesta:

1

SEMANA DEL AÑO

Para devolver el número de una semana en un año, use el WEEKDAY función.

La sintaxis básica:

WEEKOFYEAR(date);

Por ejemplo, cuando ejecuta el comando:

SELECT WEEKOFYEAR('2021-01-26');

La salida muestra el resultado:

3

AÑO

Devuelve el año a partir de la fecha especificada con el YEAR función.

La sintaxis básica:

YEAR(date);

Si ejecuta el siguiente comando:

SELECT YEAR('2021-01-26');

Obtienes el resultado:

2021

AÑO SEMANA

Devuelva el año y el número de semana a partir de la fecha especificada utilizando el YEARWEEK función.

La sintaxis básica:

YEARWEEK(date);

Puedes agregar un mode argumento a la sintaxis básica para especificar el día a partir del cual comienza la semana. Para ver una lista de modos y su significado, consulta la tabla en la WEEK función.

Por ejemplo, cuando ejecuta el comando:

SELECT YEARWEEK('2021-01-26');

La salida muestra:

202104

Cent OS
  1. Tipos de datos de Redis con comandos:guía completa

  2. Comando wc Linux con ejemplos

  3. Comando Nohup con ejemplos

  4. Comando JQ en Linux con ejemplos

  5. Guía para principiantes de FTP y SFTP con 10 ejemplos

Comando IP de Linux con ejemplos

Comando de historial con ejemplos

DRBD con MySQL Centos 8

7 ejemplos de comando de fecha en Linux

La guía de descarga definitiva de Wget con 15 ejemplos impresionantes

Tutorial de funciones de Bash Shell con 6 ejemplos prácticos