かなめのロジック

フリーSEの雑記ブログ。ORACLEやPostgreSQL、情報セキュリティ、金融について主に書いています。

DECODE関数

time 2016/01/16

DECODE関数

DECODE関数は、ある項目の値を元に条件分岐させるORACLE独自の関数です。
DECODE関数の解説と、よく似ている単純CASE式との比較をしていきます。

sponsored link

DECODE関数とは

DECODE関数は、ある項目の値を元に条件分岐させる関数です。
ORACLE独自の関数で、比較的よく使われている関数なので他のDBにリプレイスする際は注意が必要になります。

以下具体的な使用例です。

DECODE関数と単純CASE式の共通点

DECODE関数は、単純CASE式とほぼ同じ使い方が出来ます。

DECODE関数の方が簡潔に記述出来るため、比較的よく使われる傾向にあります。
また、GROUP BY句やORDER BY句への記述も、単純CASE式と同様に使うことが出来ます。

DECODE関数と単純CASE式の異なる点

よく似ているDECODE関数と単純CASE式ですが、異なる点もあります。

まず1つ目ですが、NULLの評価がDECODE関数は出来ますが、単純CASE式は出来ません。

2つ目、PL/SQLにおいてDECODE関数は使用出来ませんが、単純CASE式は出来ます。

まとめ

ORACLEの独自関数ではありますが、DECODE関数は比較的よく使わている関数です。ごちゃごちゃしがちな条件分岐の際にも、きれいにコードがまとまりやすいです。
仕様を理解しておきましょう。

関連(CASE式)



sponsored link

管理人

かなめ

フリーの業務系システムエンジニア。情報処理安全確保支援士。 ORACLEと金融と子育ての狭間で、元気に楽しくやってます。 [詳細]

管理人twitter

ブログ村



sponsored link