帮把一个SQL语句赋值到一个变量里

验证码识别 2011-07-09 05:59:11

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
...全文
113 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
AcHerat 元老 2011-07-09
  • 打赏
  • 举报
回复

set @sql='select * from character as tab1 where '''
+ @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''
+ @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''



字段名一样啊!又不是变量不用放外边,就放在字符串引号里面表示的就是那个表的字段名!
--小F-- 2011-07-09
  • 打赏
  • 举报
回复
set @sql =
'select
*
from
character as tab1
where
'''+ltrim(@raceids)+'''
like
''%|''+rtrim(ltrim('''+raceid+'''))+''|%''
and
''' +ltrim(@classids)+'''
like
''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
cd731107 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yzm888 的回复:]
引用 3 楼 cd731107 的回复:
SQL code

--变量也应该用两个'括起来
set @sql ='select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' +ltrim(@classids)+''' like ''……
[/Quote]
set @sql ='select * from character as tab1 where  '''+ltrim(@raceids)+'''  like   ''%|''+rtrim(ltrim('''+raceid+'''))+''|%'' and ''' +ltrim(@classids)+'''  like   ''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
验证码识别 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cd731107 的回复:]
SQL code

--变量也应该用两个'括起来
set @sql ='select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' +ltrim(@classids)+''' like ''%|''+rtrim(ltri……
[/Quote]
rtrim(ltrim(raceid))

raceid 是字段名字,怎么处理?

验证码识别 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qianjin036a 的回复:]
SQL code

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 '''+ @raceid……
[/Quote]
rtrim(ltrim(raceid))

raceid 是字段名字,怎么处理?

cd731107 2011-07-09
  • 打赏
  • 举报
回复
--变量也应该用两个'括起来
set @sql ='select * from character as tab1 where '''+ltrim(@raceids)+''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' +ltrim(@classids)+''' like ''%|''+rtrim(ltrim(classid))+''|%'''
-晴天 2011-07-09
  • 打赏
  • 举报
回复
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 行受影响)

*/
cd731107 2011-07-09
  • 打赏
  • 举报
回复
set @sql ='select * from character as tab1 where  '+ltrim(@raceids)+'  like   ''%|''+rtrim(ltrim(raceid))+''|%'' and ' +ltrim(@classids)+'  like   ''%|''+rtrim(ltrim(classid))+''|%'''

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧