create function dbo.udf_DateSerial (@year int, @month int, @day int) returns datetime with returns null on null input
/*
** Return a datetime for a given year, month, day.
*/
as
begin
return dateadd (dd, @day - 1, dateadd(mm, @month - 1, dateadd(yy, @year - 1900, 0)))
end
go
-- Tests / Examples
print dbo.udf_DateSerial(1753, 1, 1) -- Earliest datatime date
print dbo.udf_DateSerial(2008, 2, 29) -- 29th Feb
print dbo.udf_DateSerial(9999, 12, 31) -- Latest datatime date
go