批量修改sql数据库中某个表的多少列对应多少列的值
比如有个表userTable,里面有3列:usernameidscores小王30230小红31378小明3245....我想根据ID修改对应的scores的值,比如id...
比如 有个表 userTable,里面有3列:
username id scores
小王 30 230
小红 31 378
小明 32 45
....
我想根据ID修改对应的 scores的值,
比如 id从20-30,scores的值修改为90-100
id和scores的值都是唯一的,要对应ID修改scores的值
有米有类似这样的语句 update userTabel set scores=400 to 500 where id=30 to 40
有类似这种语句么? 展开
username id scores
小王 30 230
小红 31 378
小明 32 45
....
我想根据ID修改对应的 scores的值,
比如 id从20-30,scores的值修改为90-100
id和scores的值都是唯一的,要对应ID修改scores的值
有米有类似这样的语句 update userTabel set scores=400 to 500 where id=30 to 40
有类似这种语句么? 展开
推荐于2016-08-04
展开全部
可以根据具体的scores值稍作计算,如:id=30时scores为400,id每加1 scores加10
update userTabel set scores=400 +(id-30)*10 where id between 30 and 40
update userTabel set scores=400 +(id-30)*10 where id between 30 and 40
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表名 set 字段名=replace(字段名,';',';'+substring(字段名,0,len(字段名) - charindex(N'/',reverse(字段名))+ 2))
测试效果
declare @str varchar(100)set @str='Images/pic_2001.jpg;pic_2002.jpg;pic_2003.jpg'
select replace(@str,';',';'+substring(@str,0,len(@str) - charindex(N'/',reverse(@str))+ 2))
--输出
--Images/pic_2001.jpg;Images/pic_2002.jpg;Images/pic_2003.jpg
测试效果
declare @str varchar(100)set @str='Images/pic_2001.jpg;pic_2002.jpg;pic_2003.jpg'
select replace(@str,';',';'+substring(@str,0,len(@str) - charindex(N'/',reverse(@str))+ 2))
--输出
--Images/pic_2001.jpg;Images/pic_2002.jpg;Images/pic_2003.jpg
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
id从20-30,scores的值修改为90-100
update userTable set scores = 80 + id where scores between 20 and 30
update userTable set scores = 80 + id where scores between 20 and 30
追问
80 + id
那个+ID是什么意思啊
追答
哦,改一下~~改为70,比如 id是20 则 值为70 + 20 = 90, id为21 则 值为70+21=91
update userTable set scores = 70+ id where scores between 20 and 30
其实就是根据id的变化规律来计算你要修改的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update userTabel t set
t.scores = 400
where t.id BETWEEN 30 and 40 ;
以前写过这种...再去研究哈 中间的那个数
t.scores = 400
where t.id BETWEEN 30 and 40 ;
以前写过这种...再去研究哈 中间的那个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用case语句,
update userTable set scores= (case when id >= 20 then 90 when id >= 30 then 100 else 110 end)
where id between 20 and 40
如果是Oracle,可以用decode
update userTable set scores= decode(id/10, 2, 90, 3, 100, 110)
where id between 20 and 40
update userTable set scores= (case when id >= 20 then 90 when id >= 30 then 100 else 110 end)
where id between 20 and 40
如果是Oracle,可以用decode
update userTable set scores= decode(id/10, 2, 90, 3, 100, 110)
where id between 20 and 40
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询