sql 语句中where子句后面like的条件如果有变量怎么写表达式?
举例:申明游标等……declare@idvarchar(50)fetchnextfrommy_cursorinto@idupdatetablename01set总数=su...
举例:
申明游标等……
declare @id varchar(50)
fetch next from my_cursor into @id
update tablename01 set 总数=sum(数量) from tablename02
……
where 数量 like @id+'%'
可是like后面的都要在单引号之中才行啊,应该怎么写啊? 展开
申明游标等……
declare @id varchar(50)
fetch next from my_cursor into @id
update tablename01 set 总数=sum(数量) from tablename02
……
where 数量 like @id+'%'
可是like后面的都要在单引号之中才行啊,应该怎么写啊? 展开
6个回答
展开全部
like是字符串的操作用关键字,按理说你这个是想对数量(数字)比较吧,如果是的话最好不用like了;
另外,如果你确实很想用like 那先把数量转成字符串如“convert(varchar(20),数量)”等函数或方法进行转换就可以了。
另外,如果你确实很想用like 那先把数量转成字符串如“convert(varchar(20),数量)”等函数或方法进行转换就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是所有的信息都要写进' '里面。所以语句如下:
set @sql = '... like '' ' + @id + '%'' '。用两个''输出一个'
exec(@sql)
执行一下是必需的,因为sql是解释性语言,不然得不到查询结果。
set @sql = '... like '' ' + @id + '%'' '。用两个''输出一个'
exec(@sql)
执行一下是必需的,因为sql是解释性语言,不然得不到查询结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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+‘%’’
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该是要写在后台的吧, where 数量 like '%id%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询