Oracle select 中case 的使用以及使用decode替换case

表结构如下:

将money<50的显示为贫农,money<80的显示为中农,其他的显示为富农,sql 语句如下

select name, case 
       when money <50
         then '贫农'
       when money <80
         then '中农'
       else  '富农' 
       end results
from t2

查询结果如下:

使用decode的方式:

select name, decode(-1,sign(money-50),'贫农',
                       sign(money-80), '中农',
                       '富农')
from t2

注:sign函数返回一个数数值的正负标识,

语法如下:sign( number )
number 要测试标志的数字.
If number < 0, then sign returns -1.
If number = 0, then sign returns 0.
If number > 0, then sign returns 1.

原文地址:https://www.cnblogs.com/yshyee/p/3661765.html