SQL DATEADD: Función de fecha

La función en SQL DATEADD modifica una expresión de fecha/hora incrementando la parte de fecha especificada por el número especificado de unidades. siempre devuelve una fecha válida, teniendo en cuenta el número de días de un mes y calculando el año bisiesto. 

Sintaxis de la función en SQL dateadd

La siguiente es la sintaxis de dateadd en SQL:

DATEADD (valor_fecha, valor ,entrada_valor_fecha);

La función en sql dateadd toma tres parámetros:

  • valor_fecha: se refiere a la sección de entrada_valor_fecha en la que la función SQL dateadd agregará el valor en sql (consulte Entradas válidas para el valor de fecha al final de la sección).
  • valor : el valor se refiere al valor numérico que se agregará a la parte valor_fecha de entrada_valor_fecha . Este parámetro es un valor entero y, en caso de que el valor se pase como flotante o decimal, se trunca en un entero mediante dateadd en SQL.
  • Entrada_valor_fecha :  se refiere al valor de fecha en el que se realiza la operación. Para usar la función en SQL dateadd, necesitamos usar la consulta SELECT seguida de la función dateadd y luego devolver la salida. El valor_fecha debe proporcionarse solo una entrada válida (verifique la tabla de entrada válida para valor_fecha ) y el entrada_valor_fecha debe proporcionarse una entrada de fecha en un formato adecuado.
SELECT DATEADD(...) result;

Lo anterior es un formato generalizado para usar en SQL  dateadd .

Argumento de parte de fecha

El argumento de parte de fecha puede ser uno de los siguientes componentes de fecha/hora, ya sea el nombre completo (la columna Parte de la fecha) o su abreviatura (la columna Abreviatura). Estos nombres y abreviaturas de componentes de fecha y hora no distinguen entre mayúsculas y minúsculas .
Entradas válidas para date_val :

Parte de la fechaabreviaturasentero-exp = 1
year yyyy, yyIncrementa el año en 1.
quarterq q, qIncrementa el mes en 3.
monthmmmIncrementa el mes en 1.
week   week, wwIncrementa el día en 7.
Laborable daydwIncrementa el día en 1.
daydd, dIncrementa el día en 1.
day of the yeardy, yIncrementa el día en 1.
timeS.SIncrementa la hora en 1.
minutemi, nIncrementa el minuto en 1.
seconds, sIncrementa segundo por 1.
millisecondmilisegundoIncrementa en 0,001 de segundo.

Ejemplo de la función SQL dateadd

Usar la función en SQL DATEADD() y agregar la parte del año de la fecha para obtener la fecha de modificación, se aplica una alias para obtener el titulo del resultado en este caso aumenta_años.

sql dateadd

Ejemplo-2:

Usar la función SQL DATEADD() y agregar la parte del mes de la fecha para obtener la fecha modificada.

SELECT DATEADD(month, 11, '2019/01/05');

Resultado: 2019-12-05 00:00:00.000

Ejemplo-3:

Usar la función DATEADD() y agregar la parte del día de la fecha para obtener la fecha modificada.

SELECT DATEADD(day, 32, '2015/04/14');

Producción : 2015-05-16 00:00:00.000

Ejemplo-4:

Usar la función sql DATEADD() y agregar la parte de los minutos de la fecha para obtener la fecha modificada.

SELECT DATEADD(minute, 6, '2015/04/14 09:55');

Resultado: 2015-04-14 10:01:00.000

Ejemplo-5:

Usar la función DATEADD() y agregar la parte de la hora de la fecha usando una variable para obtener la fecha modificada.

DECLARE @number INT;
SET @number = 8;
SELECT DATEADD(hh, @number, '2021/01/02 08:50');

Resultado: 2021-01-02 16:50:00.000

Ejemplo-6:
Usar la función DATEADD() y agregar la segunda parte de la fecha usando variables para obtener la fecha modificada.

DECLARE @number INT;
DECLARE @date VARCHAR(50);
SET @number = 08;
SET @date = '2011/11/22 07:59:56';
SELECT DATEADD(ss, @number, @date);

Resultado: 2011-11-22 08:00:04.000

Comprobación de rango y valor

DATEADD en SQL server, realiza las siguientes comprobaciones en los valores de entrada. Si un valor falla en una verificación, se devuelve la cadena nula.

  • Una cadena de fecha debe estar completa y correctamente formateada con el número apropiado de elementos y dígitos para cada elemento, y el carácter separador apropiado. Los años deben especificarse con cuatro dígitos.
  • Los valores de fecha deben estar dentro de un rango válido. Años: 1841 a 9999. Meses: 1 a 12. Días: 1 a 31. Horas: 0 a 23. Minutos: 0 a 59. Segundos: 0 a 59.
  • El valor de año incrementado devuelto debe estar dentro del rango de 1841 a 9999. Incrementar más allá de este rango devuelve <null>.
  • El número de días en un mes debe coincidir con el mes y el año. Por ejemplo, la fecha ’02–29′ solo es válida si el año especificado es un año bisiesto.
  • Los valores de fecha inferiores a 10 pueden incluir u omitir un cero inicial. No se permiten otros valores enteros no canónicos. Por lo tanto, un valor de Día de ’08’ o ‘8’ es válido, pero ‘008’, ‘8.0’ o ‘8a’ no son válidos. 

Deja un comentario