case表示式和decode函式

2021-08-13 06:25:55 字數 2262 閱讀 8746

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...