日期:2014-05-18  浏览次数:20472 次

语句没有梳理清楚

declare @Purviewsub varchar(1000)
declare @PSysM1d18sub varchar(20)
set @Purviewsub='select * from PSysM001 where PSysM0a01=1'
set @PSysM1d18sub='001'


SELECT @Purviewsub=@Purviewsub+' AND PHumM0a07>='''+@PSysM1d18sub+''''

print @Purviewsub+'@@@@@'


变量@PSysM1d18sub处 '''+@PSysM1d18sub+''' 不理解 求高手指教下



------解决方案--------------------
动态拼接的字符串里,字符类型的数据因为有引号,拼接字符串时两个'表示一个,所以会出现 '''++'''剩下的一个'号表示的是@sql字符串的连接。

类似 @sql = 'select * from tb where name = '''+张三+''' order by name'

红色部分是为了表示 '张三' 左右两边的引号。