1. 用case表示式做等值判斷
格式:
case
表示式
when 值1
then
返回值1
when 值2
then
返回值2
……
[else
預設返回值]
end
示例:查詢員工編號,姓名,部門編號,部門名稱;
部門名稱:
=30 sale
=20 etc
=10 jxb
其他 icss
select empno
,
ename
,
deptno
,
case deptno
when
30then
'sale'
when
20then
'etc'
when
10then
'jxb'
else
'icss'
end as
部門名稱
from emp
;
2. 用case表示式做非等值判斷
格式:
case
when
條件表示式
1then
返回值1
when
條件表示式
2then
返回值2
……
[else
預設返回值]
end
示例: 查詢員工編號,姓名,工資,工資級別,部門編號
工資級別:
>=5000 a
>=3000 b
>=2000 c
其他 d
select empno
,
ename
,
sal
,
case
when sal
>=
5000
then
'a'
when sal
>=
3000
then
'b'
when sal
>=
2000
then
'c'
else
'd'
end as
工資級別,
deptno
from emp
;
1. decode函式與case第一種等值可以替代
格式:
decode
(表示式,值
1,返回值1,值
2,返回值
2....[,預設值返回值])
示例:
select empno
,
ename
,
deptno
,
decode
(deptno,30
,'sale',20
,'etc',10
,'jxb'
,'icss'
)as
部門名稱
from emp
;
decode 和SQL語法case表示式
方法一 使用sql99標準通用語法中的case表示式,將職位是分析員的,工資 1000 職位是經理的,工資 800 職位是其它的,工資 400 select ename 姓名 job 職位 sal 原工資 case job when analyst then sal 1000 when manage...
條件分支 CASE表示式和DECODE函式
case表示式單條件 單列 來走分支 看下面的加薪語句 sql select last name,job id,salary,2 case job id when it prog then 1.10 salary 3 when st clerk then 1.15 salary 4 when sa ...
case表示式詳解
格式一 case 條件表示式 when 條件表示式結果1 then 語句段1 when 條件表示式結果2 then 語句段2 when 條件表示式結果n then 語句段n else 條件表示式結果 end 格式二 case when 條件表示式1 then 語句段1 when 條件表示式2 the...