oracle decode集排序,使用DECODE还是CASE会影响排序?

2楼正解,用cast强制就行了

SQL> SELECT resource_name

2         ,(CASE WHEN max_utilization=0 THEN cast(NULL as number) ELSE round(current_utilization * 100 / max_utilization, 2) END)

AS "USED_RATE(%)"

3         ,decode(max_utilization,0,cast(NULL as number),round(current_utilization * 100 / max_utilization, 2)) AS "USED_RATE"

4   FROM   v$resource_limit ORDER BY 2 DESC NULLS LAST

5  ;

RESOURCE_NAME                                                USED_RATE(%)  USED_RATE

------------------------------------------------------------ ------------ ----------

max_shared_servers                                                    100        100

sort_segment_locks                                                    100        100

enqueue_resources                                                     100        100

max_rollback_segments                                                 100        100

processes                                                           87.88      87.88

sessions                                                            85.71      85.71

enqueue_locks                                                       58.62      58.62

temporary_table_locks                                                   0          0

cmtcallbk                                                               0          0

ges_big_msgs

ges_rsv_msgs

gcs_resources

gcs_shadows

dml_locks

transactions

branches

ges_procs

k2q_locks

parallel_max_servers

ges_reg_msgs

ges_ress

ges_locks

ges_cache_ress

已选择23行。

已用时间:  00: 00: 00.03

SQL> 4

4*  FROM   v$resource_limit ORDER BY 2 DESC NULLS LAST

SQL> c/2/3

4*  FROM   v$resource_limit ORDER BY 3 DESC NULLS LAST

SQL> /

RESOURCE_NAME                                                USED_RATE(%)  USED_RATE

------------------------------------------------------------ ------------ ----------

max_shared_servers                                                    100        100

sort_segment_locks                                                    100        100

enqueue_resources                                                     100        100

max_rollback_segments                                                 100        100

processes                                                           87.88      87.88

sessions                                                            85.71      85.71

enqueue_locks                                                       58.62      58.62

temporary_table_locks                                                   0          0

cmtcallbk                                                               0          0

ges_big_msgs

ges_rsv_msgs

gcs_resources

gcs_shadows

dml_locks

transactions

branches

ges_procs

k2q_locks

parallel_max_servers

ges_reg_msgs

ges_ress

ges_locks

ges_cache_ress

已选择23行。

已用时间:  00: 00: 00.07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值