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 fecha abreviaturas entero-exp = 1
year yyyy, yy Incrementa el año en 1.
quarter q q, q Incrementa el mes en 3.
month mmm Incrementa el mes en 1.
week    week, ww Incrementa el día en 7.
Laborable day dw Incrementa el día en 1.
day dd, d Incrementa el día en 1.
day of the year dy, y Incrementa el día en 1.
time S.S Incrementa la hora en 1.
minute mi, n Incrementa el minuto en 1.
second s, s Incrementa segundo por 1.
millisecond milisegundo Incrementa 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