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