从字符串转换日期和/或时间时,转换失败。该如何处理

从字符串转换日期和/或时间时,转换失败。
declare @Time1 datetime
declare @Time2 datetime

set @Time1= dateadd(MINUTE,-30,getdate())
set @Time2=getdate() 
declare @SampleSql varchar(2000)      
set @SampleSql='select Focus_Guid,G_Type from 表1 where Decl_Time between '''+@Time1+''' and '''+@Time2+''''
     select @SampleSql

其中库里面Decl_Time 为datetime格式
报错:从字符串转换日期和/或时间时,转换失败。
------解决思路----------------------
转换一下日期

where  CONVERT(varchar(50), Decl_Time, 120) between '''+@Time1+''' and '''+@Time2+''''
------解决思路----------------------
那是传进去的参数没转换啊