sql中日期参数如何加上单引号

如下的语句,@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 

到此,完美解决问题了

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。