SQL语句update set 简单嵌套 case when,(update嵌套case when)

    前两天才开始学习数据库,今天遇到问题,需要在表数据里面更改数据,普通更改只需要用 update  set  就可以,但是这次需求是要根据条件改数据,因为只学了case when ,很自然就想到update set 嵌套 case when .

但是百度了好多,总是提示各种缺少关键字,或者什么的问题。

最后终于发现正确使用方法。。记录下,初学者可以参考:

需求:如果value>50,令value=50,否则不变

(1)首先创建一张名为 t1_student 的表,用insert into 插入数据(此处省略):

create table t1_student(

       id integer primary key,       --primary key 为设置主键,可省略
       name varchar2(32) not NULL,  --添加数据时不允许为空
       value varchar2(128) not NULL,  --添加数据时不允许为空
       value2 varchar2(128) default NULL, --添加数据时不给数据默认为空
       enable integer default 1  --默认置为1

       );

(2)插入数据后,书写update 语句

update t_param_default set value =
       CASE 
         WHEN value > 50 THEN
           '50'             --因为value是字符串类型,故需要用单引号
         ELSE
           value
         END

where name = 'abc';        

 --功能:如果value>50,令value=50,否则不变

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值