Oracle のデコード関数の使用法は次のとおりです: 1. 基本的な使用法、条件フィールドに基づく単純な条件判定; 2. 複数条件の判定、複数の条件に基づいて異なる結果を返す; 3. ネストされた DECODE 関数、DECODE を使用します。ネストされた関数により、より複雑な条件判断と結果の戻りを実現します。 4. 他の SQL ステートメントと組み合わせて使用する: DECODE 関数を他の SQL ステートメント (WHERE 句など) と組み合わせて使用すると、より柔軟なデータ クエリと処理などが実現されます。
このチュートリアルのオペレーティング システム: Windows 10 システム、Oracle バージョン 19c、Dell G3 コンピューター。
Oracle の DECODE 関数は、指定された条件に基づいて 1 つ以上の式に対して条件判定を実行し、対応する結果を返す多態性関数です。その一般的な構文は次のとおりです。
DECODE(expression, search, result [, search, result]... [, default])
ここで、
expression は、条件付きで判定される式です。
search は検索する値です。
result は、一致する値が見つかった場合に返される結果です。
default (オプション) は、一致する値が見つからない場合に返されるデフォルトの結果です。
DECODE 関数の動作原理は、最初の検索値から 1 つずつ式と比較し、一致する値が見つかった場合は、対応する結果を返し、比較を停止します。一致する値が見つからない場合は、比較する検索値がなくなるまで次の検索値との比較が継続されます。一致する値が見つからず、デフォルトのパラメータが指定された場合はデフォルトの結果が返され、それ以外の場合は NULL が返されます。
DECODE 関数の一般的な使用法をいくつか示します:
1. 基本的な使用法: 条件フィールドに基づいて単純な条件判断を行います。
SELECT name, decode(gender, 'M', 'Male', 'F', 'Female', 'Unknown') as gender_description FROM users;
上記の例では、性別フィールド (gender) の値に応じて、対応する説明が返されます。性別が「M」または「F」でない場合は、「Unknown」が返されます。 。
2. 複数条件判定: 複数の条件に基づいて異なる結果を返します。
SELECT department, decode(salary, 5000, 'Low', 10000, 'High', 'Medium') as salary_range FROM employees;
上記の例では、給与 (salary) の範囲に応じて、対応する給与範囲の説明が返されます。給与が 5,000 未満の場合は「Low」が返され、10,000 を超える場合は「Low」が返されます。の場合は「High」が返され、それ以外の場合は「Medium」が返されます。
3. ネストされた DECODE 関数: DECODE 関数をネストして、より複雑な条件判断と結果の返しを実現します。
SELECT product_name, decode(category, 'Electronics', 'Electronics products', 'Clothing', 'Clothing items', 'Unknown') as product_category FROM products;
上記の例では、製品カテゴリ (カテゴリ) に従って、対応する製品カテゴリの説明が返されます。カテゴリが「エレクトロニクス」の場合は「エレクトロニクス製品」を返し、「衣料品」の場合は「エレクトロニクス製品」を返します。 ' の場合は '衣類アイテム' を返し、それ以外の場合は '不明' を返します。
4. 他の SQL ステートメントと組み合わせて使用する: DECODE 関数を他の SQL ステートメント (WHERE 句など) と組み合わせて使用すると、より柔軟なデータ クエリと処理が実現します。
DECODE 関数を他の SQL ステートメント、サブクエリなどと組み合わせて使用すると、より複雑な関数を実現できることに注意してください。さらに、Oracle 11g 以降では、DECODE 関数は場合によっては予測できない結果を生成する可能性があるため、DECODE 関数の代わりに CASE ステートメントを使用することをお勧めします。
以上がOracleのデコード機能の使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。