以下是我写的存储过程,有错哪位大哥帮忙看下,怎么拼SQl语句
declare @name varchar(20)
declare @key varchar(20)
declare @strSql varchar(200)
set @name='needCode'
set @key='我'
SELECT @key = '%' + RTRIM(@key) + '%';
set @strSql='select * from tb_taskStatistic
where'+' '+ @name+' '+'like '+ @key
execute (@strSql)
declare @name varchar(20)
declare @key varchar(20)
declare @strSql varchar(200)
set @name='needCode'
set @key='我'
SELECT @key = '%' + RTRIM(@key) + '%';
set @strSql='select * from tb_taskStatistic
where'+' '+ @name+' '+'like '+ @key
execute (@strSql)
declare @key nvarchar(20)
declare @strSql nvarchar(200)
set @name=N'needCode'
set @key=N'我'
SELECT @key = N'%' + RTRIM(@key) + N'%';
set @strSql=N'select * from tb_taskStatistic
where'+N' '+ @name+N' '+N'like '''+ @key + ''''
PRINT @strSql
execute (@strSql)
where'''+ @name+'''like '''+ @key+''''
execute (@strSql)
declare @key varchar(20)
declare @strSql varchar(200)
set @name='user_name'
set @key = N'我'
SELECT @key = '%' + @key+ '%'
set @strSql='select * from tb_taskStatistic where '''+ @name+''' like '''+ @key+''''
print @strSql
execute (@strSql)
declare @key varchar(20)
declare @strSql varchar(200)
set N'needCode'
set @key = N'我'
SELECT @key = '%' + @key+ '%'
set @strSql='select * from tb_taskStatistic where '''+ @name+''' like '''+ @key+''''
print @strSql
execute (@strSql)
sql server有两个转义符:
' 默认情况下, '是字符串的边界符, 如果在字符串中包含 ', 则必须使用两个 ', 第1个 '就是转义符