MySQL: función DATE_SUB

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MySQL: función DATE_SUB

Este tutorial de MySQL explica cómo usar MySQL Función DATE_SUB Con sintaxis y ejemplos.

describir

La función MySQL DATE_SUB devuelve una fecha después de la cual se resta un intervalo de hora/fecha.

sintaxis

La sintaxis de la función DATE_SUB en MySQL es:

DATE_SUB( date, INTERVAL value unit )

parámetro o parámetro

fecha La fecha a partir de la cual se debe restar el intervalo. valor El valor del intervalo de hora/fecha que desea restar. Puede especificar valores positivos y negativos para este parámetro.unidad

El tipo de unidad del intervalo, como DÍA, MES, MINUTO, HORA, etc. Puede ser uno de los siguientes:

unidad compatibilidad
microsegundos 4.1.1+
segundo 3.2.3+
minuto 3.2.3+
Hora 3.2.3+
día 3.2.3+
Semana 5+
Luna 3.2.3+
moneda de 25 centavos 5+
año 3.2.3+
SEGUNDO_MICROSEGUNDO 4.1.1+
MINUTO_MICROSEGUNDO 4.1.1+
MINUTO_SEGUNDO 4.1.1+
horas_microsegundos 4.1.1+
HORA_SEGUNDO 4.1.1+
HORA_MINUTO 3.2.3+
DÍA_MICROSEGUNDO 4.1.1+
DÍA_SEGUNDO 3.2.3+
DÍA_MINUTO 3.2.3+
DIA_HORA 3.2.3+
AÑO MES 3.2.3+

notas

  • Si especifica un valor de intervalo que es demasiado corto para las unidades que especifica, la función DATE_SUB asume que no se proporciona la parte más a la izquierda del valor del intervalo.
  • Usar la función DATE_SUB con un valor negativo como argumento es equivalente a usar la función DATE_ADD.
  • Consulte también las funciones DATE_ADD, ADDDATE, SUBDATE, ADDTIME y SUBTIME.

aplicar para

La función DATE_SUB se puede utilizar en las siguientes versiones de MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

ejemplo

Veamos algunos ejemplos de la función DATE_SUB de MySQL y exploremos cómo usar la función DATE_SUB en MySQL.

Por ejemplo:

mysql> SELECT DATE_SUB('2014-02-13 08:44:21.000001', INTERVAL 4 MICROSECOND);
Result: '2014-02-13 08:44:20.999997'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL 20 SECOND);
Result: '2014-02-13 08:44:01'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL 25 MINUTE);
Result: '2014-02-13 08:19:21'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL 2 HOUR);
Result: '2014-02-13 06:44:21'

mysql> SELECT DATE_SUB('2014-02-13', INTERVAL 10 DAY);
Result: '2014-02-03'

mysql> SELECT DATE_SUB('2014-02-13', INTERVAL 12 WEEK);
Result: '2013-11-21'

mysql> SELECT DATE_SUB('2014-02-13', INTERVAL 3 MONTH);
Result: '2013-11-13'

mysql> SELECT DATE_SUB('2014-02-13', INTERVAL 3 QUARTER);
Result: '2013-05-13'

mysql> SELECT DATE_SUB('2014-02-13', INTERVAL 5 YEAR);
Result: '2009-02-13'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21.000001', INTERVAL '12.000001' SECOND_MICROSECOND);
Result: '2014-02-13 08:44:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21.000001', INTERVAL '3:12.000001' MINUTE_MICROSECOND);
Result: '2014-02-13 08:41:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL '3:12' MINUTE_SECOND);
Result: '2014-02-13 08:41:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21.000001', INTERVAL '1:03:12.000001' HOUR_MICROSECOND);
Result: '2014-02-13 07:41:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL '1:03:12' HOUR_SECOND);
Result: '2014-02-13 07:41:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL '1:03' HOUR_MINUTE);
Result: '2014-02-13 07:41:21'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21.000001', INTERVAL '7 1:03:12.000001' DAY_MICROSECOND);
Result: '2014-02-06 07:41:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL '7 1:03:12' DAY_SECOND);
Result: '2014-02-06 07:41:09'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL '7 1:03' DAY_MINUTE);
Result: '2014-02-06 07:41:21'

mysql> SELECT DATE_SUB('2014-02-13 08:44:21', INTERVAL '7 1' DAY_HOUR);
Result: '2014-02-06 07:44:21'

mysql> SELECT DATE_SUB('2014-02-13', INTERVAL '5-3' YEAR_MONTH);
Result: '2008-11-13'