欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL语句updateset简单嵌套casewhen实例讲解

程序员文章站 2022-07-10 12:30:53
前两天才开始学习,今天遇到问题,需要在表数据里面更改数据,普通更改只需要用 update set 就可以,但是这次需求是要根据条件改数据,因为只学了case when ,很自然就想到update s...

前两天才开始学习,今天遇到问题,需要在表数据里面更改数据,普通更改只需要用 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,否则不变