DECLARE @sql varchar (5000)select * from character as tab1 where @raceids like '%|'+rtrim(ltrim(raceid))+'|%' and @classids like '%|'+rtrim(ltrim(classid))+'|%'set @sql = ??? 帮把SQL语句赋值到 @sql
set @sql ='select * from character as tab1 where '+ltrim(@raceids)+' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ' +ltrim(@classids)+' like ''%|''+rtrim(ltrim(classid))+''|%'''
DECLARE @sql varchar (5000) declare @raceids varchar(100),@classids varchar(100) set @raceids='abcd' set @classids='0001'set @sql='select * from character as tab1 where '''+ @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''+ @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''select @sql /* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- select * from character as tab1 where 'abcd' like '%|'+rtrim(ltrim(raceid))+'|%' and '0001' like '%|'+rtrim(ltrim(classid))+'|%'(1 行受影响)*/
--变量也应该用两个'括起来 set @sql ='select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' +ltrim(@classids)+''' like ''%|''+rtrim(ltrim(classid))+''|%'''
rtrim(ltrim(raceid))raceid 是字段名字,怎么处理?
rtrim(ltrim(raceid))raceid 是字段名字,怎么处理?
set @sql ='select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim('''+raceid+'''))+''|%'' and ''' +ltrim(@classids)+''' like ''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
set @sql = 'select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim('''+raceid+'''))+''|%'' and ''' +ltrim(@classids)+''' like ''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
set @sql='select * from character as tab1 where ''' + @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' + @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''字段名一样啊!又不是变量不用放外边,就放在字符串引号里面表示的就是那个表的字段名!
declare @raceids varchar(100),@classids varchar(100)
set @raceids='abcd'
set @classids='0001'set @sql='select * from character as tab1 where '''+ @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''+ @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''select @sql
/*
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select * from character as tab1 where 'abcd' like '%|'+rtrim(ltrim(raceid))+'|%' and '0001' like '%|'+rtrim(ltrim(classid))+'|%'(1 行受影响)*/
set @sql ='select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' +ltrim(@classids)+''' like ''%|''+rtrim(ltrim(classid))+''|%'''
'select
*
from
character as tab1
where
'''+ltrim(@raceids)+'''
like
''%|''+rtrim(ltrim('''+raceid+'''))+''|%''
and
''' +ltrim(@classids)+'''
like
''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
set @sql='select * from character as tab1 where '''
+ @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''
+ @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''字段名一样啊!又不是变量不用放外边,就放在字符串引号里面表示的就是那个表的字段名!