巧用max和decode函式把列轉化為行

2021-05-23 23:36:42 字數 1239 閱讀 3669

直接查詢的

sql語句,把「

element_name

」的元素轉為行顯示。

select

v.element_name,v.result_value

from

pay_run_results_v v

where

v.assignment_action_id=

64293

轉化的sql語句,巧用

max和

decode

select

max(

decode

(element_name,

'cdgm_

績效工資

', result_value,

0))

績效工資,

max(

decode

(element_name,

'taxation information'

, result_value,

0)) taxationinformation,

max(decode

(element_name,

'taxation deduction'

, result_value,

0)) taxationdeduction,

max(decode

(element_name,

'tax report information'

, result_value,

0)) taxreportinformation,

max(decode

(element_name,

'cdgm_

應發合計

', result_value, 0))

應發合計,

max(

decode

(element_name,

'cdgm_

實發作廢

', result_value,

0))

實發作廢,

max(

decode

(element_name,

'cdgm_

實發合計

', result_value,

0))

實發合計

from

pay_run_results_v

where

assignment_action_id=

64293

好用的函式sign和decode

今天遇到了乙個問題,需要對比乙個欄位和5的大小,大於5的輸出0,小於五的輸出1。如果是用plsql程式設計的話可以用if else這種邏輯進行判斷,但是在sql裡可不能這麼寫,經過推薦,我組合使用了sign和decode,效果很好,小清新。如下 decode sign trunc col1 col2...

ORACLE的sign函式和DECODE函式

一.比較大小函式 sign 函式語法 sign n 函式說明 取數字n的符號,大於0返回1,小於0返回 1,等於0返回0 示例 1 select sign 100 sign 100 sign 0 from dual sign 100 sign 100 sign 0 1 1 0 2 a 10,b 20...

Oracle 中 sign和decode 函式用法

1 sign函式語法 sign n sign函式說明 取數字n的符號,大於0返回1,小於0返回 1,等於0返回0 n可以是表示式,n 200 例子 比較大小 a 10 b 50 sign a b 1 sign b a 1 sign a 10 02 decode的用法 含 釋 decode 條件,值1...