Función DATEFROMPARTS de SQL Server para versiones anteriores a 2012
Esta es una función bastante simple para reemplazar la funcionalidad que falta de la función DATEFROMPARTS en SQL Server 2012 y posteriores. Es una simple concatenación del año, mes y día en un formato de fecha, y devuelto como una fecha. Una vez que la hayas generado, llámala como lo harías con cualquier otra función.
Durante las pruebas para algunas fechas de Pascua automatizadas DATETIME2 adicionales, descubrimos que algunas fechas anteriores a 1000 DC pueden dar error debido a la longitud del texto. Utilizamos una función para garantizar la longitud de cada parte de la fecha, así que tómala del enlace de abajo.
Esto tiende a ser una parte crucial de otras funciones de fecha que utilizamos, y se ha desplegado en NHS y bases de datos legales.
CREATE FUNCTION Dates.DateFromParts(@Year SMALLINT,@Month SMALLINT,@Day SMALLINT) RETURNS DATETIME2 AS BEGINDECLARE @Date DATETIME2=Dates.DatePad(@Year,4)+'-'+Dates.DatePad(@Month,2)+'-'+Dates.DatePad(@Day,2)RETURN @DateENDGO