Oracle における DECODE 関数の基本的な使用法分析
Oracle データベースでは、DECODE 関数は非常に一般的に使用される関数であり、多層 if- と同様の関数を実装するために使用されます。 else文の論理判断と数値置換。 DECODE 関数の基本構文は次のとおりです。
DECODE(expr, search1, result1, search2, result2, ..., default_result)
パラメータの意味は次のとおりです。
expr
: 必要な式。判定,
search2, ...: 一致する値を示します
,
result2, ...: 一致が成功した後の対応する戻り結果を示します。
: すべての検索値が正常に一致しなかった場合のデフォルトの戻り結果を示します
employee があり、従業員の名前と入社年が含まれているとします。入社年に基づいて勤務年数を計算し、対応する結果を生成します。
SELECT name, hire_year, DECODE( hire_year, 2018, '工作1年', 2017, '工作2年', 2016, '工作3年', '工作3年以上') AS work_years FROM employee;
hire_year に基づいて一致します。従業員の入社年が 2018 年の場合、「1 年間の勤務」が返されます。入力年は 2017 年です。その後、「2 年間の勤務」を返します。すべての検索値が一致しない場合は、「勤続 3 年以上」が返されます。
product があるとします。各製品の利益率を計算し、利益率がマイナスの場合は「損失」を返したいと考えます。
SELECT product_id, cost, price, DECODE( price - cost, 0, '无收益', NULL, '未知收益', (price - cost) / cost * 100 ) AS profit_rate FROM product;
score があり、スコア セグメントに基づいて対応する評価を与えたいとします。
SELECT student_id, score, DECODE( trunc(score/10), 9, '优秀', 8, '良好', 7, '中等', 6, '及格', '不及格' ) AS level FROM score;
以上がOracle の DECODE 関数の基本的な使用法分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。