2016-10-24 14 views

回答

2

CASE表達可在其邏輯,例如使用一個以上的列

CASE WHEN col1 > val1 AND col2 > val2 THEN 1 ELSE 0 END 

CASE表達式必須一個標量值。

+0

正是這就是我的工作原理......非常感謝您的幫助......很抱歉,因爲我沒有足夠的聲望,所以不會回覆你的答案。:) – GSG

0

沒有你不能,但可以使用多當子句聲明這樣的:

select 
case when .... end col_a, 
case when .... end col_b 
from 
xxxx 
0

當然可以。例如:

select ... 
from emp 
where case when bonus is null then salary else salary + bonus end > 4000 

這裏emp是一個表,並bonussalary是兩個在該表中的列。同樣的WHERE子句可以更簡單地表達,但不管重新制定,它都會引用兩列。 (並且會有某種地方的情況 - NVL和COALESCE是CASE表達式,語法不同)

相關問題