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.
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.