请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

sql 里写条件判断

现在有这么个需求,在更新数据的时候,某些字段需要更新,某些不需要更新怎么写
update table set name=1,type=1 where id=1;
update table set name=1 where id=1;
update table set type=1,sex=2 where id=1;
以上三条语句怎么合成一句?

正在回答 回答被采纳积分+3

3回答

sqlercn 2017-02-19 17:08:52

如果一定要写到一个SQL中的话,就用case来实现就可以

0 回复 有任何疑惑可以回复我~
sqlercn 2017-02-17 12:51:26

update table set name=1,type=1,sex=2 where id = 1 ?

0 回复 有任何疑惑可以回复我~
  • 提问者 xiaowu9 #1
    忘记写条件了,假如有一个变量@w,当@w=1时执行第一条SQL,当@w=2时执行第二条,=3时执行第三条。
    回复 有任何疑惑可以回复我~ 2017-02-18 07:58:51
  • 提问者 xiaowu9 #2
    不用ifelse情况下有没有办法合成一条语句
    回复 有任何疑惑可以回复我~ 2017-02-18 08:01:18
  • 提问者 xiaowu9 #3
    现在是这样写的:认证过的用户不能修改姓名,看起来怪怪的
    UPDATE users set name=(CASE WHEN @isrz=5 THEN name else _name END) where id=1;
    回复 有任何疑惑可以回复我~ 2017-02-18 08:41:58
sqlercn 2017-05-31 09:48:56

可以使用case语句进行一下判断

0 回复 有任何疑惑可以回复我~
  • 提问者 xiaowu9 #1
    update table set age=(case when age=0 then 30 elae age end)
    我现在都是这么写的,是这样的吗?
    回复 有任何疑惑可以回复我~ 2017-05-31 12:56:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信