1、使用如下
declare @temp_temp varchar(100)
set @temp_temp=''''+'csj'+''''
print @temp_temp
2、使用转义字符
定义的变变量 传递给拼接sql时候需要用到转义字符char(39)+@p3+char(39)加单引号,否则会报错误
declare @p3 varchaer(20)
set @p3='WORK19061111'
select @sql3='select '+@sql3+' from ggaplantb where 任务单号='+char(39)+@p3+char(39)+'ORDER BY 工序号,类别'
--SET @sql=@sql1;
--PRINT @sql3
--exec(@sql)
---动态拼接sql
DECLARE @sqlstr nvarchar(max)
declare @uid varchar(20)
set @uid='16430'
exec sp_executesql N'select * from t_user where fUserid=@uid',N'@uid varchar(20)',@uid
GO
--修改模糊查询 未识别未参数
DECLARE @sqlstr nvarchar(max)
declare @uid varchar(20)
set @uid='16'
SET @sqlstr='select * from t_user where fUserid like'+ char(39)+CHAR(37)+@uid+CHAR(37)+CHAR(39)--使用转义字符
SET @sqlstr='select * from t_user where fUserid like'+ ''''+'%'+@uid+'%'+'''' ---使用字符拼接带''的sql
EXEC(@sqlstr)
PRINT @sqlstr
--修改如下,增加中间拼接字符串
go
DECLARE @sqlstr nvarchar(max)
declare @uid varchar(20)
set @uid='164'
declare @i varchar(20)
set @i='%'+@uid+'%'
exec sp_executesql N'select * from t_user where fUserid like @i',N'@i varchar(20)',@i
PRINT @i