ホームページ >データベース >mysql チュートリアル >Oracle DECODE関数の詳細説明と使用例

Oracle DECODE関数の詳細説明と使用例

WBOY
WBOYオリジナル
2024-03-08 15:51:031270ブラウズ

Oracle DECODE函数详解及用法示例

Oracle の DECODE 関数は、クエリ ステートメントのさまざまな条件に基づいてさまざまな結果を返すためによく使用される条件式です。この記事ではDECODE関数の構文・使い方・サンプルコードを詳しく紹介します。

1. DECODE 関数の構文

DECODE(expr, search1, result1 [, search2, result2, ... , default])
  • expr: 比較する式またはフィールド。
  • search1, search2, ...: 比較する値。
  • result1, result2, ...: expr が search1、search2 などの対応する値と等しい場合、対応する result1、result2 などが返されます。
  • default: expr がどの検索値とも等しくない場合は、デフォルト値が返されます。

2. DECODE 関数の使用例

1. 簡単な例:

employees_id と job_id を含むフィールドを持つ「employees」という名前のテーブルがあるとします。ジョブ ID に基づいて、さまざまな従業員に異なる役職を与えたいと考えています。サンプル コードは次のとおりです:

SELECT employee_id, job_id, DECODE(job_id, 'IT_PROG', 'IT专员', 'SA_MAN', '销售经理', 'OTHER') AS job_title
FROM employees;

上記のコードでは、job_id に応じて異なる役職が返されます。「IT_PROG」は「IT スペシャリスト」を返し、「SA_MAN」は「セールス マネージャー」を返します。場合、「OTHER」が返されます。

2. 複数条件の例:

DECODE 関数で複数条件の判定を適用したい場合は、次のように進めることができます:

SELECT employee_id, job_id,
DECODE(job_id,
'SA_MAN', '销售经理',
'IT_PROG', 'IT专员',
'MK_REP', '市场代表',
'AC_ACCOUNT', '会计',
'OTHER') AS job_title
FROM employees;

この例では、 job_id は、対応する役職を返します。

3. デフォルト値を使用する:

DECODE 関数の expr がすべての検索値と一致しない場合は、デフォルト値を設定できます。例は次のとおりです。

SELECT employee_id, job_id,
DECODE(job_id,
'SA_MAN', '销售经理',
'IT_PROG', 'IT专员',
DEFAULT '其他职位') AS job_title
FROM employees;

この例では、job_id が「SA_MAN」または「IT_PROG」でない場合、デフォルト値「その他のポジション」が返されます。

結論

上記の例を通じて、Oracle データベースの DECODE 関数の柔軟性と実用性がわかります。単純な条件判断でも複数条件判断でも、DECODE 関数を使用すると、さまざまな条件に応じて異なる結果が返され、SQL クエリの柔軟性と効率が向上します。この記事が DECODE 関数の理解と使用に役立つことを願っています。

以上がOracle DECODE関数の詳細説明と使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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