永发信息网

sql当中update语句可否使用多个where?例子如下,可以用一个语句完成吗?

答案:2  悬赏:80  手机版
解决时间 2021-01-04 03:21
  • 提问者网友:niaiwoma
  • 2021-01-03 14:16
update table1 set id='0001' where a='12345'
update table1 set id='0002' where a='67890'
....................................................
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-01-10 06:13
可以,按照你的语句给你改造一下:
update table1 set id = decode(a, '12345', '0001', '67890', '0002', null)
decode是一个选择性函数,类似case when ,是oracle独有的。
上面的语句会在当a = ‘12345’ 时 decode函数的值为 '0001',当a = '67890'时,decode的值为 '0002'。从而实现你要的效果。
全部回答
  • 1楼网友:慢性怪人
  • 2021-01-10 07:36

你可以试下:

update xsps_h set bill_no =(case when left(bill_no,2 )='bj' then bill_no else 'bj'+bill_no end)

where xdate='2009-08-01' or xdate='2009-08-02'

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯