sql 语句中where子句后面like的条件如果有变量怎么写表达式?

举例:
申明游标等……
declare @id varchar(50)
fetch next from my_cursor into @id
update tablename01 set 总数=sum(数量) from tablename02
……
where 数量 like @id+'%'

可是like后面的都要在单引号之中才行啊,应该怎么写啊?

第1个回答  2010-12-13
like是字符串的操作用关键字,按理说你这个是想对数量(数字)比较吧,如果是的话最好不用like了;

另外,如果你确实很想用like 那先把数量转成字符串如“convert(varchar(20),数量)”等函数或方法进行转换就可以了。
第2个回答  2010-12-13
应该是所有的信息都要写进' '里面。所以语句如下:
set @sql = '... like '' ' + @id + '%'' '。用两个''输出一个'
exec(@sql)
执行一下是必需的,因为sql是解释性语言,不然得不到查询结果。
第3个回答  2010-12-13
declare @sql varchar(1000)
set @sql = 'update tablename01 set 总数=sum(数量) from tablename02
……
where 数量 like ''' + cast(@id as varchar(10) + '%'''
EXEC(@sql)本回答被提问者和网友采纳
第4个回答  2010-12-13
declare @id varchar(50)
fetch next from my_cursor into @id
update tablename01 set 总数=sum(数量) from tablename02
……
where 数量 like ‘@id+‘%’’
第5个回答  2010-12-13
你应该是要写在后台的吧, where 数量 like '%id%'

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网