単一行ファンクションは、問合せ対象の表またはビューの各行に対して1つの結果行を戻します。これらのファンクションは、SELECT構文のリスト、WHERE
句、START
WITH
句、CONNECT
BY
句およびHAVING
句に指定できます。
数値ファンクションは入力として数値を受け取り、結果として数値を戻します。数値ファンクションのほとんどは、38桁(10進)のNUMBER
値を戻します。超越関数(COS
、COSH
、EXP
、LN
、LOG
、SIN
、SINH
、SQRT
、TAN
およびTANH
)は、36桁(10進)の値を戻します。超越関数のACOS
、ASIN
、ATAN
、ATAN2
は、30桁(10進)の値を戻します。数値ファンクションを次に示します。
文字値を戻す文字ファンクションは、特に指定がないかぎり、次のデータ型の値を戻します。
入力引数がCHAR
またはVARCHAR2
の場合、戻される値はVARCHAR2
になります。
入力引数がNCHAR
またはNVARCHAR2
の場合、戻される値はNVARCHAR2
になります。
ファンクションによって戻される値の長さは、戻されるデータ型の最大長によって制限されます。
CHAR
またはVARCHAR2
型の値を戻すファンクションの戻り値の長さが制限を超えた場合、Oracle Databaseは戻り値から制限を超えた部分を切り捨てて、エラー・メッセージを表示せずにその結果を戻します。
CLOB
型の値を戻すファンクションの戻り値の長さが制限を超えた場合、Oracleはエラーを表示し、データを戻しません。
文字値を戻す文字ファンクションを次に示します。
数値を戻す文字ファンクションの引数には、すべての文字データ型を指定できます。数値を戻す文字ファンクションを次に示します。
キャラクタ・セット・ファンクションは、キャラクタ・セットの情報を戻します。キャラクタ・セット・ファンクションを次に示します。
日時ファンクションは、日付(DATE
)、タイムスタンプ(TIMESTAMP
、TIMESTAMP
WITH
TIME
ZONE
、TIMESTAMP
WITH
LOCAL
TIME
ZONE
)および期間(INTERVAL
DAY
TO
SECOND
、INTERVAL
YEAR
TO
MONTH
)の値を操作します。
一部の日付ファンクションは、OracleのDATE
データ型(ADD_MONTHS
、CURRENT_DATE
、LAST_DAY
、NEW_TIME
およびNEXT_DAY
)用に設計されています。これらのファンクションの引数にタイムスタンプ値を指定すると、Oracle Databaseは入力された型をDATE
値に内部的に変換し、DATE
値を戻します。ただし、MONTHS_BETWEEN
ファンクションは数値を戻し、ROUND
およびTRUNC
ファンクションはタイムスタンプ値または期間値を受け入れません。
その他の日時ファンクションは、3種類のすべてのデータ型(日付、タイムスタンプ、期間)を受け入れ、それらのいずれかのデータ型の値を戻すように設計されています。
SYSDATE
、SYSTIMESTAMP
、CURRENT_TIMESTAMP
などの、現在のシステム日時情報を戻す日時ファンクションはすべて、SQL文で参照される回数に関係なく、SQL文ごとに1回評価されます。
日時ファンクションを次に示します。
変換ファンクションは、あるデータ型から他のデータ型に値を変換します。一般に、ファンクション名はdatatype
TO
datatype
の書式で指定されます。最初のデータ型は入力データ型です。2番目のデータ型は出力データ型です。SQL変換ファンクションを次に示します。
ラージ・オブジェクト・ファンクションは、LOBを操作します。ラージ・オブジェクト・ファンクションを次に示します。
収集ファンクションは、ネストした表およびVARRAYを操作します。SQL収集ファンクションを次に示します。
データ・マイニング・ファンクションは、DBMS_DATA_MINING
パッケージまたはOracle Data Mining Java APIを使用して作成したモデルを操作します。SQLデータ・マイニング・ファンクションを次に示します。
関連項目: SQLデータ・マイニング・ファンクションの詳細は、『Oracle Data Miningアプリケーション開発者ガイド』を参照してください。 |
XMLファンクションは、XML文書またはフラグメントを操作または戻します。これらのファンクションで使用する引数はANSI/ISO/IEC SQL規格の中には定義されていませんが、World Wide Web Consortium(W3C)標準の中に定義されています。ファンクションで実行される処理および操作は、該当するW3C標準で定義されています。次の表に、これらのXML関連の各引数に適用されるルールとガイドラインについて、W3C標準の該当する項へのリンクを示します。これらのXMLファンクションのいずれかをSQL文で使用する場合、該当するW3Cの構文に準拠していない引数を使用するとエラーになります。データベース列の値として使用できる文字が、XMLでも有効であるとはかぎらないことに注意してください。
構文要素 | W3C標準のURL |
---|---|
value_expr |
http://www.w3.org/TR/2006/REC-xml-20060816 |
Xpath_string |
http://www.w3.org/TR/1999/REC-xpath-19991116 |
XQuery_string |
http://www.w3.org/TR/2007/REC-xquery-semantics-20070123/ |
namespace_string |
http://www.w3.org/TR/2006/REC-xml-names-20060816/ |
identifier |
http://www.w3.org/TR/2006/REC-xml-20060816/#NT-Nmtoken |
出力の書式設定など、これらのファンクションを使用したXMLデータの選択および問合せの詳細は、『Oracle XML DB開発者ガイド』を参照してください。
SQL XMLファンクションを次に示します。
エンコーディング・ファンクションおよびデコーディング・ファンクションでは、データベース内のデータを調査およびデコードできます。エンコーディング・ファンクションおよびデコーディング・ファンクションを次に示します。
NULL
関連ファンクションは、NULL処理を簡単にします。NULL
関連ファンクションを次に示します。
環境ファンクションおよび識別子ファンクションは、インスタンスとセッションの情報を提供します。環境ファンクションおよび識別子ファンクションを次に示します。