34,837
社区成员




DECLARE @sql varchar (5000)
select * from character as tab1 where @raceids like '%|'+rtrim(ltrim(raceid))+'|%' and @classids like '%|'+rtrim(ltrim(classid))+'|%'
set @sql = ???
set @sql='select * from character as tab1 where '''
+ @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''
+ @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 '''+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))+''|%'''
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))+''|%'''