根據我的理解,DECODE函數用於檢查搜索表達式的條件並顯示結果。下面的例子有所謂的「SUM」一組函數使用DECODE函數:ORACLE中的DECODE函數中使用的參數
SELECT COUNT(*) "Total",
SUM(DECODE(TO_CHAR(hire_date,'YYYY'),'1995',1,0)) "1995",
SUM(DECODE(TO_CHAR(hire_date,'YYYY'),'1996',1,0)) "1996",
SUM(DECODE(TO_CHAR(hire_date,'YYYY'),'1997',1,0)) "1997",
SUM(DECODE(TO_CHAR(hire_date,'YYYY'),'1998',1,0)) "1998"
FROM employees;
我想了解它是如何與「TO_CHAR」功能和「SUM」函數的函數。
- 在示例中使用的TO_CHAR函數轉換的日期數據類型的字符數據類型和值與搜索值(1995,1996,等)進行比較,並計算結果。
- 但是,SUM函數只能用於數字數據類型。
這裏有幾個問題:
問題1:能DECODE函數也需要有不同的數據類型的值?例如,如果1995年,1996年使用年代替代'1995','1996',則查詢成功執行。
問題2:參數「1」和「0」是數字,用在TO_CHAR函數中,它在組函數「SUM」中使用。當DECODE子句中的數據類型不同時它是如何執行的?
請幫忙。
:謝謝你的時間來回答這個問題,這是非常有幫助的,並清除我的預訂。 –