In SQL Server 2012+, puoi utilizzare datefromparts()
:
select datefromparts(@year, @month, @day)
Nelle versioni precedenti, puoi eseguire il cast di una stringa. Ecco un metodo:
select cast(cast(@year*10000 + @month*100 + @day as varchar(255)) as date)