Попробуйте это .. вам нужно только отформатировать дату как 20180501
для SQL SERVER
declare @mm smallint = 5, @yy smallint = 2018
- ИСПОЛЬЗОВАНИЕ CONCAT
select cast(concat(cast(@yy as varchar(4)),right(concat('0',@mm),2),'01') as datetime)
- старый метод конкатенации
select cast(cast(@yy as varchar(4))+right(concat('0',@mm),2)+'01' as datetime)