Ir al contenido

end_date

La función end_date en una función de ventana que calcula la fecha final de un periodo inicio-fin a partir de la fecha inicial.

Es útil para calcular la fdecha final del periodo en aquellos casos donde la tabla solo contiene la fecha de inicio de cada periodio.

Sintaxis:

end_date(fecha_inicio) OVER (PARTITION BY <columns>)
```
Como en todas las funciones de ventana se puede usar la sintaxis compacta:

end_date(fecha_inicio PARTITION BY )

## Ejemplo:
El siguiente ejemplo muestra la fecha de inicio y fin de cada escandallo:

select articulo, coste, fecha FechaInicio, end_date(fecha partition by articulo) FechaFin from stg.escandallos

El código generado es:

SELECT articulo, coste, fecha AS FechaInicio, coalesce(max(dateadd(d,-1,fecha)) OVER (PARTITION BY articulo ORDER BY fecha ROWS BETWEEN 1 FOLLOWING And 1 FOLLOWING),‘21000101’) AS FechaFin FROM stg.escandallos

## Comentarios
- La fecha de inicio debe ser una fecha `DATE` sin hora.
- La función `END_DATETIME` es equivalente cuando la fecha inicial es `DATETIME`