Oracle の DECODE 関数は、クエリ ステートメントのさまざまな条件に基づいてさまざまな結果を返すためによく使用される条件式です。この記事ではDECODE関数の構文・使い方・サンプルコードを詳しく紹介します。
DECODE(expr, search1, result1 [, search2, result2, ... , default])
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」が返されます。
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 は、対応する役職を返します。
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 サイトの他の関連記事を参照してください。