如下的语句,@start和@end就是日期类型的参数
set @sql=‘select * from ‘+cast(@viewName as nvarchar) +‘ where rcy_rq >= ‘+CONVERT(nvarchar(100), @start, 121)+‘ and rcy_rq <= ‘+CONVERT(nvarchar(100), @end, 121)
执行时输入的sql语句如下:
select * from view2010 where rcy_rq >= 2010-12-29 00:00:00.000 and rcy_rq <= 2010-12-31 00:00:00.000
如何在日期的两遍家上单引号(’)呢?
网上有人说先用其他的字符加到需要的位置,然后用replace函数去替换成单引号,我觉得可以这样处理,如下:
declare @point nvarchar(5) set @point=char(39)--单引号
sql语句更改如下:
set @sql=‘select * from ‘+cast(@viewName as nvarchar) +‘ where rcy_rq >= ‘+@point+CONVERT(nvarchar(100), @start, 121)+@point+‘ and rcy_rq <= ‘+@point+CONVERT(nvarchar(100), @end, 121)+@point
到此,完美解决问题了
时间: 2024-10-07 05:28:47