ORACLE CASE用法

来源:互联网 发布:北风网大数据百度云 编辑:程序博客网 时间:2024/05/16 14:03

先建立表

create table student(idnumber(10)primary key,namevarchar(20),agenumber(10));

插入两条测试数据

insert into student values(1,'中国',23)

insert into student values(2,'美国',23)

先用case when语句查询实现当name为中国时,id变为10,当name为美国时,id变为100:

语法一:

select age,case name when '中国' then 10 when '美国'then 100  end id from student;

语法二:

select age,case when name='中国'then 10 when name= '美国' then 1000  end id from student;

我自己试验了下,如果end语句后不跟上你要查询改变的字段如下写法:

select age,case when name='中国'then id+10when name= '美国' then id+1000 end  from student;

尽管查询结果也能出来,但在pl/sql出来的结果字段名不是想象的那样