5 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
SELECT last_name,salary,CASE job_id WHEN 'IT_PROG' THEN 1.10*salary WHEN 'ST_CLERK' THEN 1.15*salary WHEN 'SA_REP' THEN 1.20*salary ELSE salary END "REVISED_SALARY" FROM employees;

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
oracle when 和 then怎么用?。?!
先要拋出一個(gè)case就是一個(gè)情況,然后這個(gè)情況不同的條件下,得到不同的值,when就是條件,而then就是得到值。
select case
when column >= 1 then '比1大'
when column 1 and column > 0 then '比1小的正數(shù)'
else '小于等于0'
end as number_desc
from table
----------以上是一個(gè)例子
另外,case后邊也可一個(gè)跟著一個(gè)具體的情況,而when判斷這個(gè)情況的值
select case sign(column - 1)
when 1 then '比1大'
else '小于等于1'
end as number_desc
from table

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
SELECT col1, col2,
CASE
WHEN col3 > 1 AND col3 <2 THEN
'1'
WHEN col3 > 3 AND col3 <4 THEN
'3'
ELSE
'4'
END mylevel
FROM table1
- 5 回答
- 0 關(guān)注
- 683 瀏覽