SQLファンクション
SQLファンクションは、Oracle Databaseに組み込まれており、適切なSQL文で使用できます。SQLファンクションと、PL/SQLで記述されたユーザー定義ファンクションを混同しないでください。
SQLファンクションが戻す値のデータ型以外のデータ型の引数でSQLファンクションをコールすると、OracleはSQLファンクションを実行する前に、その引数を必要なデータ型に変換します。
関連項目:
ユーザー・ファンクションの詳細は、ユーザー定義ファンクションを参照してください。データ型の暗黙的な変換の詳細は、データ変換を参照してください。
SQLファンクションでのNULL
ほとんどのスカラー・ファンクションでは、引数としてNULLを指定するとNULLが戻されます。NVL
ファンクションを使用した場合、NULLが発生したときに値を戻すことができます。たとえば、式NVL(commission_pct,0)
は、commission_pct
がNULLの場合は0(ゼロ)を戻し、commission_pct
がNULLでなければその値を戻します。
集計ファンクションによるNULLの処理の詳細は、集計ファンクションを参照してください。
SQLファンクションの構文
SQLファンクションの構文図では、データ型とともに引数が示されています。SQL構文にパラメータfunction
が指定されている場合は、この項で説明するファンクションの1つに置き換えます。ファンクションは、引数のデータ型および戻り値によってグループ化されています。
ノート:
LOB列にSQLファンクションを適用すると、Oracle Databaseは、SQLおよびPL/SQLの処理中に一時LOBを作成します。ご使用のアプリケーションの一時LOBを格納するために、十分な一時表領域が割り当てられていることを確認してください。
SQLファンクションは照合依存で、つまり、それによって実行される文字値の比較や一致は照合によって制御されます。ファンクションで使用する特定の照合は、ファンクションの引数の照合に基づいて決定されます。
SQLファンクションの結果に文字データ型が含まれる場合、照合導出ルールによって、結果に関連付ける照合が定義されます。
関連項目:
SQLファンクション用の照合の導出および決定のルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
次に、ファンクションのカテゴリを表す構文を示します。
function::=
single_row_function::=
次の項に、前述の図のユーザー定義ファンクション以外の各グループにおける組込みSQLファンクションを示します。すべての組込みSQLファンクションを、アルファベット順に説明します。
関連項目:
ユーザー定義ファンクションおよびCREATE FUNCTIONを参照してください。