ホームページ  >  記事  >  データベース  >  Oracle の DECODE 関数の基本的な使用法分析

Oracle の DECODE 関数の基本的な使用法分析

WBOY
WBOYオリジナル
2024-03-07 16:09:03638ブラウズ

Oracle の DECODE 関数の基本的な使用法分析

Oracle における DECODE 関数の基本的な使用法分析

Oracle データベースでは、DECODE 関数は非常に一般的に使用される関数であり、多層 if- と同様の関数を実装するために使用されます。 else文の論理判断と数値置換。 DECODE 関数の基本構文は次のとおりです。

DECODE(expr, search1, result1, search2, result2, ..., default_result)

パラメータの意味は次のとおりです。

  • expr: 必要な式。判定
  • #search1, search2, ...: 一致する値を示します
  • result1, result2, ...: 一致が成功した後の対応する戻り結果を示します。
  • default_result: すべての検索値が正常に一致しなかった場合のデフォルトの戻り結果を示します
以下は、DECODE 関数の基本的な使用法を示す特定のコード例です。

例 1: 基本的な使用法

従業員テーブル

employee があり、従業員の名前と入社年が含まれているとします。入社年に基づいて勤務年数を計算し、対応する結果を生成します。

SELECT name, 
       hire_year,
       DECODE(
           hire_year,
           2018, '工作1年',
           2017, '工作2年',
           2016, '工作3年',
           '工作3年以上') AS work_years
FROM employee;

この例では、DECODE 関数は従業員の入社年

hire_year に基づいて一致します。従業員の入社年が 2018 年の場合、「1 年間の勤務」が返されます。入力年は 2017 年です。その後、「2 年間の勤務」を返します。すべての検索値が一致しない場合は、「勤続 3 年以上」が返されます。

例 2: Null 値の処理

空の可能性のあるフィールドを処理する必要がある場合がありますが、DECODE 関数はこの状況にも適切に適用できます。

製品の原価と販売価格を含むテーブル

product があるとします。各製品の利益率を計算し、利益率がマイナスの場合は「損失」を返したいと考えます。

SELECT product_id,
       cost,
       price,
       DECODE(
           price - cost,
           0, '无收益',
           NULL, '未知收益',
           (price - cost) / cost * 100
       ) AS profit_rate
FROM product;

この例では、DECODE 関数は計算された利益率に基づいて一致します。利益率が 0 の場合は「利益なし」を返し、利益率が NULL の場合は「不明な利益」を返します。それ以外の場合は、実際の利益率を返します。

例 3: ネストされた DECODE 関数

DECODE 関数をネストして、より複雑な論理判断を行うことができます。

学生のスコアを含むテーブル

score があり、スコア セグメントに基づいて対応する評価を与えたいとします。

SELECT student_id,
       score,
       DECODE(
           trunc(score/10),
           9, '优秀',
           8, '良好',
           7, '中等',
           6, '及格',
           '不及格'
       ) AS level
FROM score;

この例では、DECODE 関数を入れ子にして使用して、最初のレベルで生徒のスコアの範囲を決定し、次に 2 番目のレベルで対応する評価を決定します。

要約すると、DECODE 関数は、複雑な論理判断や数値置換を簡単に実装できる、Oracle データベースの非常に実用的な関数です。この記事の例を通じて、読者は DECODE 関数の基本的な使用法を予備的に理解できたと思います。読者の皆様には、DECODE 機能を実務で柔軟に活用していただき、作業効率の向上を図っていただければ幸いです。

以上がOracle の DECODE 関数の基本的な使用法分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。