分析ファンクション
分析ファンクション
分析ファンクションは、行のグループに基づいて集計値を計算します。各グループに対して複数の行を戻す点で、集計ファンクションと異なります。行のグループをウィンドウといい、analytic_clauseで定義されます。各行に対して、行のスライディング・ウィンドウが定義されます。このウィンドウによって、カレント行の計算に使用される行の範囲が決定されます。ウィンドウの大きさは、行の物理数値または時間などのロジカル・インターバルに基づきます。
分析ファンクションは、問合せで最後に実行される演算(最後のORDER BY句を除く)の集合です。すべての結合およびすべてのWHERE、GROUP BYおよびHAVING句は、分析ファンクションが処理される前に実行されます。そのため、分析ファンクションは、SELECT構文のリストまたはORDER BY句のみに指定できます。
通常、分析ファンクションは、累積集計、移動集計、センター集計およびレポート集計の実行に使用されます。
-- 総合文法 analytic_function::= analytic_function([ arguments ]) --analytic_clause OVER ( --query_partition_clause [PARTITION BY { value_expr[, value_expr ]... | ( value_expr[, value_expr ]... ) } ] --order_by_clause [ ORDER [ SIBLINGS ] BY { expr | position | c_alias } [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [, { expr | position | c_alias } [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] ]... --windowing_clause [ { ROWS | RANGE } { BETWEEN { UNBOUNDED PRECEDING | CURRENT ROW | value_expr { PRECEDING | FOLLOWING } } AND { UNBOUNDED FOLLOWING | CURRENT ROW | value_expr { PRECEDING | FOLLOWING } } | { UNBOUNDED PRECEDING | CURRENT ROW | value_expr PRECEDING } } ] ]) --それぞれのクローズの文法 analytic_function::= analytic_function([ arguments ]) OVER (analytic_clause) analytic_clause::= [ query_partition_clause ] [ order_by_clause [ windowing_clause ] ] query_partition_clause::= PARTITION BY { value_expr[, value_expr ]... | ( value_expr[, value_expr ]... ) } order_by_clause::= ORDER [ SIBLINGS ] BY { expr | position | c_alias } [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [, { expr | position | c_alias } [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] ]... windowing_clause::= { ROWS | RANGE } { BETWEEN { UNBOUNDED PRECEDING | CURRENT ROW | value_expr { PRECEDING | FOLLOWING } } AND { UNBOUNDED FOLLOWING | CURRENT ROW | value_expr { PRECEDING | FOLLOWING } } | { UNBOUNDED PRECEDING | CURRENT ROW | value_expr PRECEDING } }
analytic_function
分析ファンクションの名前を指定します(セマンティクスの説明の後に示す分析ファンクションのリストを参照)。
引数
分析ファンクションには引数を0~3個指定します。引数には、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を指定できます。Oracleは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換します。個々のファンクションに特に指定がないかぎり、戻り型もその引数のデータ型となります。
参照:
数値の優先順位の詳細は、「数値の優先順位」を参照してください。暗黙的な変換の詳細は、表2-10「暗黙的な型変換のマトリックス」を参照してください。
analytic_clause
OVER analytic_clause句は、ファンクションが問合せ結果セットを操作することを示します。FROM、WHERE、GROUP BYおよびHAVING句の後に計算されます。SELECT構文のリストのこの句またはORDER BY句に分析ファンクションを指定できます。分析ファンクションに基づいて、問合せの結果をフィルタするには、これらのファンクションを親問合せ内でネストした後、ネストされた副問合せの結果をフィルタします。
analytic_clauseの注意事項:
analytic_clauseには、次の注意事項があります。
analytic_clauseのどの部分にも、分析ファンクションを指定できません。つまり、分析ファンクションはネストできません。ただし、副問合せで分析ファンクションを指定して、別の分析ファンクションを計算することはできます。
OVER analytic_clauseには、組込み分析ファンクションと同様に、ユーザー定義の分析ファンクションを指定できます。「CREATE FUNCTION」を参照してください。
query_partition_clause
PARTITION BY句を使用すると、1つ以上のvalue_exprに基づいて、問合せ結果セットをグループに分割できます。この句を省略すると、ファンクションは問合せ結果セットのすべての行を単一のグループとして扱います。
分析ファンクションでquery_partition_clauseを使用するには、構文の上位ブランチ(カッコなし)を使用します。この句をモデルの問合せ(model_column_clauses内)またはパーティション化された外部結合(outer_join_clause内)で使用するには、構文の下位ブランチ(カッコ付き)を使用します。
同じまたは異なるPARTITION BYキーで、同じ問合せに複数の分析ファンクションを指定できます。
問い合せているオブジェクトにパラレル属性があり、query_partition_clauseで分析ファンクションを指定する場合は、ファンクションの計算もパラレル化されます。
有効な値のvalue_exprは、定数、列、非分析ファンクション、ファンクション式、またはこれらのいずれかを含む式です。
order_by_clause
order_by_clauseを使用すると、パーティション内でのデータの順序付け方法を指定できます。PERCENTILE_CONTおよび(単一キーのみを適用する)PERCENTILE_DISC以外の分析ファンクションでは、各キーがvalue_exprで定義され、順序付けシーケンスで修飾された複数キーのパーティションの値を順序付けできます。
各ファンクションには、複数の順序式を指定できます。これは、2番目の式が最初の式にある同一値との間の関連性を変換できるため、値をランク付けするファンクションを使用する場合に特に有効です。
order_by_clauseの結果が複数行の個々の値である場合、ファンクションは各行の同じ値を戻します。この動作の詳細は、「SUM」の分析例を参照してください。
ORDER BY句の制限事項:
ORDER BY句には次の制限事項があります。
order_by_clauseを分析ファンクションで使用する場合、式(expr)が必要です。SIBLINGSキーワードは無効です(これは、階層問合せでのみ有効です)。位置(position)および列別名(c_alias)も無効です。それ以外で使用する場合、このorder_by_clauseは、問合せまたは副問合せ全体を順序付ける場合に使用するものと同じです。
RANGEキーワードを使用する分析ファンクションでは、次の2つのウィンドウのいずれかを指定する場合に、ORDER BY句で複数のソート・キーを使用できます。
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW。この短縮形は、RANGE UNBOUNDED PRECEDINGです。
RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING。この短縮形は、RANGE UNBOUNDED FOLLOWINGです。
この2つ以外のウィンドウ境界では、分析ファンクションのORDER BY句でソート・キーを1つしか持てません。この制限事項は、ROWキーワードで指定したウィンドウ境界には適用されません。
ASC | DESC
順序付けシーケンス(昇順または降順)を指定します。デフォルトはASCです。
NULLS FIRST | NULLS LAST
NULL値を含む戻された行が順序の最初にくるか、最後にくるかを指定します。
NULLS LASTは昇順のデフォルトで、NULLS FIRSTは降順のデフォルトです。
分析ファンクションは、常に、ファンクションのorder_by_clauseで指定された順序で行を操作します。ただし、ファンクションのorder_by_clauseは結果の順序を保証しません。最終結果の順序を保証するには、問合せのorder_by_clauseを使用してください。
参照:
この句の詳細は、「SELECT」の「order_by_clause」を参照してください。
windowing_clause
一部の分析ファンクションでは、windowing_clauseを使用できます。7-16ページに示す分析ファンクションのリストでは、windowing_clauseを使用できるファンクションにアスタリスク(*)が付いています。
ROWS | RANGE
これらのキーワードは、各行に対して、ファンクションの結果の計算に使用されるウィンドウ(行の物理集合または論理集合)を定義します。ファンクションは、ウィンドウのすべての行に適用されます。ウィンドウは、問合せ結果セット内またはパーティションの上から下まで移動します。
ROWSは、物理単位(行)でウィンドウを指定します。
RANGEは、論理オフセットとしてウィンドウを指定します。
order_by_clauseを指定しないと、この句を指定できません。RANGE句で定義したウィンドウ境界には、order_by_clauseで指定できる式が1つのみのものもあります。詳細は、「ORDER BY句の制限事項:」を参照してください。
分析ファンクションが論理オフセットで戻す値は、常に決定的なものです。ただし、分析ファンクションが物理オフセットで戻す値は、順序式の結果が一意の順序にならないかぎり、非決定的な結果を生成することがあります。order_by_clauseに複数の列を指定して、結果の順序を一意にする必要があります。
BETWEEN …AND
BETWEEN … AND句を使用すると、ウィンドウにスタート・ポイントおよびエンド・ポイントを指定できます。最初の式(ANDの前)はスタート・ポイントを定義し、2番目の式(ANDの後)はエンド・ポイントを定義します。
BETWEENを省略してエンド・ポイントを1つのみ指定すると、Oracleはそれをスタート・ポイントとみなし、デフォルトでカレント行をエンド・ポイントに指定します。
UNBOUNDED PRECEDING
UNBOUNDED PRECEDINGを指定すると、パーティションの最初の行で、ウィンドウが開始します。これはスタート・ポイントの指定で、エンド・ポイントの指定としては使用できません。
UNBOUNDED FOLLOWING
UNBOUNDED FOLLOWINGを指定すると、パーティションの最後の行で、ウィンドウが終了します。これはエンド・ポイントの指定で、スタート・ポイントの指定としては使用できません。
CURRENT ROW
スタート・ポイントとして、ウィンドウがカレント行または値(それぞれROWまたはRANGEを指定したかどうかに基づく)で開始することを指定します。この場合、value_expr PRECEDINGをエンド・ポイントにできません。
エンド・ポイントとして、ウィンドウがカレント行または値(それぞれROWまたはRANGEを明示的に指定したかどうかに基づく)で終了することを指定します。この場合、value_expr FOLLOWINGをスタート・ポイントにできません。
value_expr PRECEDINGまたはvalue_expr FOLLOWING
RANGEまたはROWに対して、次のことがいえます。
value_expr FOLLOWINGがスタート・ポイントの場合、エンド・ポイントはvalue_expr FOLLOWINGである必要があります。
value_expr PRECEDINGがエンド・ポイントの場合、スタート・ポイントはvalue_expr PRECEDINGである必要があります。
数値形式の時間間隔で定義されている論理ウィンドウを定義する場合、変換ファンクションを使用する必要があります。
参照:
数値時間から間隔への変換の詳細は、「NUMTOYMINTERVAL」および「NUMTODSINTERVAL」を参照してください。
ROWSを指定した場合、次のことがいえます。
value_exprは物理オフセットになります。これは定数または式であり、正数値に評価する必要があります。
value_exprがスタート・ポイントの一部の場合、エンド・ポイントの前にある行に評価する必要があります。
RANGEを指定した場合、次のことがいえます。
value_exprは論理オフセットになります。これは、正数値または期間リテラルに評価する定数または式である必要があります。期間リテラルの詳細は、「リテラル」を参照してください。
order_by_clauseには、式を1つのみ指定できます。
value_exprが数値に対して評価を行う場合、ORDER BY exprは数値データ型またはDATEデータ型である必要があります。
value_exprが間隔値に対して評価を行う場合、ORDER BY exprはDATEデータ型である必要があります。
windowing_clauseを完全に省略した場合、デフォルトでRANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROWになります。
分析ファンクションは、通常、データ・ウェアハウス環境で使用されます。次に示す分析ファンクションのリストでは、windowing_clauseを含む完全な構文を使用できるファンクションには、アスタリスク(*)が付いています。
AVG *
CORR *
COVAR_POP *
COVAR_SAMP *
COUNT *
CUME_DIST
DENSE_RANK
FIRST
FIRST_VALUE *
LAG
LAST
LAST_VALUE *
LEAD
MAX *
MIN *
NTILE
PERCENT_RANK
PERCENTILE_CONT
PERCENTILE_DISC
RANK
RATIO_TO_REPORT
REGR_(線形回帰)ファンクション *
ROW_NUMBER
STDDEV *
STDDEV_POP *
STDDEV_SAMP *
SUM *
VAR_POP *
VAR_SAMP *
VARIANCE *
参照:
これらのファンクションおよびその使用方法の詳細は、下記の『Oracle Databaseデータ・ウェアハウス・ガイド』の「分析計算およびレポート」を参照してください。
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19217-02/analysis.htm#i1007779
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19201-02/functions.html
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj04_3.htm
ABS
ABS(n)
ACOS
ACOS(n)
ADD_MONTHS
ADD_MONTHS(date, integer)
analytic_function
analytic_function([ arguments ]) OVER (analytic_clause)
APPENDCHILDXML
APPENDCHILDXML ( XMLType_instance, XPath_string, value_expr [, namespace_string ] )
ASCII
ASCII(char)
ASCIISTR
ASCIISTR(char)
ASIN
ASIN(n)
ATAN
ATAN(n)
ATAN2
ATAN2(n1 { , | / } n2)
AVG
AVG([ DISTINCT | ALL ] expr) [ OVER(analytic_clause) ]
BFILENAME
BFILENAME('directory', 'filename')
BIN_TO_NUM
BIN_TO_NUM(expr [, expr ]... )
BITAND
BITAND(expr1, expr2)
CARDINALITY
CARDINALITY(nested_table)
CAST
CAST({ expr | MULTISET (subquery) } AS type_name)
CEIL
CEIL(n)
CHARTOROWID
CHARTOROWID(char)
CHR
CHR(n [ USING NCHAR_CS ])
CLUSTER_ID
CLUSTER_ID ( [ schema . ] model mining_attribute_clause )
CLUSTER_PROBABILITY
CLUSTER_PROBABILITY ( [ schema . ] model [ , cluster_id ] mining_attribute_clause )
CLUSTER_SET
CLUSTER_SET ( [ schema . ] model [ , topN [ , cutoff ] ] mining_attribute_clause )
COALESCE
COALESCE(expr [, expr ]...)
COLLECT
COLLECT (column)
COMPOSE
COMPOSE(char)
CONCAT
CONCAT(char1, char2)
CONVERT
CONVERT(char, dest_char_set[, source_char_set ])
CORR
CORR(expr1, expr2) [ OVER (analytic_clause) ]
CORR_K
{ CORR_K | CORR_S } (expr1, expr2 [, { COEFFICIENT | ONE_SIDED_SIG | ONE_SIDED_SIG_POS | ONE_SIDED_SIG_NEG | TWO_SIDED_SIG } ] )
COS
COS(n)
COSH
COSH(n)
COUNT
COUNT({ * | [ DISTINCT | ALL ] expr }) [ OVER (analytic_clause) ] COVAR_POP COVAR_POP(expr1, expr2) [ OVER (analytic_clause) ] COVAR_SAMP COVAR_SAMP(expr1, expr2) [ OVER (analytic_clause) ] CUME_DIST(集計) CUME_DIST(expr[,expr ]...) WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] ]... )
CUME_DIST(分析)
CUME_DIST( ) OVER ([ query_partition_clause ] order_by_clause)
CURRENT_DATE
CURRENT_DATE CURRENT_TIMESTAMP CURRENT_TIMESTAMP [ (precision) ] CV CV([ dimension_column ])
DBTIMEZONE
DBTIMEZONE DECODE DECODE(expr, search, result [, search, result ]... [, default ] )
DECOMPOSE
DECOMPOSE( string [ CANONICAL | COMPATIBILITY ] )
DELETXML
DELETEXML ( XMLType_instance, XPath_string [, namespace_string ] )
DENSE_RANK(集計)
DENSE_RANK(expr [, expr ]...) WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [,expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] ]... )
DENSE_RANK(集計)
DENSE_RANK( ) OVER([ query_partition_clause ] order_by_clause)
DEPTH
DEPTH(correlation_integer)
DEREF
DEREF(expr)
DUMP
DUMP(expr[, return_fmt [, start_position [, length ] ] ] )
EMPTY_BLOB
{ EMPTY_BLOB | EMPTY_CLOB }( )
EXISTSNODE
EXISTSNODE (XMLType_instance, XPath_string [, namespace_string ] )
EXP
EXP(n)
EXTRACT(日時)
EXTRACT( { { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | TIMEZONE_MINUTE } | { TIMEZONE_REGION | TIMEZONE_ABBR } } FROM { datetime_value_expression | interval_value_expression } )
EXTRACT(XML)
EXTRACT(XMLType_instance, XPath_string [, namespace_string ] )
EXTRACTVALUE
EXTRACTVALUE (XMLType_instance, XPath_string [, namespace_string ] )
FEATURE_ID
FEATURE_ID ( [ schema . ] model mining_attribute_clause )
FEATURE_SET
FEATURE_SET ( [ schema . ] model [ , topN [ , cutoff ] ] mining_attribute_clause )
FEATURE_VALUE
FEATURE_VALUE ( [ schema . ] model [ , feature_id ] mining_attribute_clause )
FIRST
aggregate_function KEEP (DENSE_RANK FIRST ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] ]... ) [ OVER query_partition_clause ]
FIRST_VALUE
FIRST_VALUE (expr [ IGNORE NULLS ]) OVER (analytic_clause)
FLOOR
FLOOR(n)
FROM_TZ
FROM_TZ (timestamp_value, time_zone_value)
GREATEST
GREATEST(expr [, expr ]...)
GROUP_ID
GROUP_ID( )
GROUPING
GROUPING(expr)
GROUPING_ID
GROUPING_ID(expr [, expr ]...)
HEXTORAW
HEXTORAW(char)
INITCAP
INITCAP(char)
INSERTCHILDXML
INSERTCHILDXML ( XMLType_instance, XPath_string, child_expr, value_expr [, namespace_string ] )
INSERTXMLBEFORE
INSERTXMLBEFORE ( XMLType_instance, XPath_string, value_expr [, namespace_string ] )
INSTR
{ INSTR | INSTRB | INSTRC | INSTR2 | INSTR4 } (string , substring [, position [, occurrence ] ])
ITERATION_NUMBER
ITERATION_NUMBER
LAG
LAG(value_expr [, offset ] [, default ]) OVER ([ query_partition_clause ] order_by_clause)
LAST
aggregate_function KEEP (DENSE_RANK LAST ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] ]... ) [ OVER query_partition_clause ]
LAST_DAY
LAST_DAY(date)
LAST_VALUE
LAST_VALUE(expr [ IGNORE NULLS ]) OVER (analytic_clause)
LEAD
LEAD(value_expr [, offset ] [, default ]) OVER ([ query_partition_clause ] order_by_clause)
LEAST
LEAST(expr [, expr ]...)
LENGTH
{ LENGTH | LENGTHB | LENGTHC | LENGTH2 | LENGTH4 } (char)
LN
LN(n)
LNNVL
LNNVL(condition)
LOCALTIMESTAMP
LOCALTIMESTAMP [ (timestamp_precision) ]
LOG
LOG(n2, n1)
LOWER
LOWER(char)
LPAD
LPAD(expr1, n [, expr2 ])
LTRIM
LTRIM(char [, set ])
MAKE_REF
MAKE_REF({ table | view } , key [, key ]...)
MAX
MAX([ DISTINCT | ALL ] expr) [ OVER (analytic_clause) ]
MEDIAN
MEDIAN(expr) [ OVER (query_partition_clause) ]
MIN
MIN([ DISTINCT | ALL ] expr) [ OVER (analytic_clause) ]
MOD
MOD(n2, n1)
MONTHS_BETWEEN
MONTHS_BETWEEN(date1, date2)
NANVL
NANVL(n2, n1)
NCHR
NCHR(number)
NEW_TIME
NEW_TIME(date, timezone1, timezone2)
NEXT_DAY
NEXT_DAY(date, char)
NLS_CHARSET_DECL_LEN
NLS_CHARSET_DECL_LEN(byte_count, 'char_set_id')
NLS_CHARSET_ID
NLS_CHARSET_ID ( string )
NLS_CHARSET_NAME
NLS_CHARSET_NAME(number)
NLS_INITCAP
NLS_INITCAP(char [, 'nlsparam' ])
NLS_LOWER
NLS_LOWER(char [, 'nlsparam' ])
NLS_UPPER
NLS_UPPER(char [, 'nlsparam' ])
NLSSORT
NLSSORT(char [, 'nlsparam' ])
NTILE
NTILE(expr) OVER ([ query_partition_clause ] order_by_clause)
NULLIF
NULLIF(expr1, expr2)
NUMTODSINTERVAL
NUMTODSINTERVAL(n, 'interval_unit')
NUMTOYMINTERVAL
NUMTOYMINTERVAL(n, 'interval_unit')
NVL
NVL(expr1, expr2)
NVL2
NVL2(expr1, expr2, expr3)
ORA_HASH
ORA_HASH (expr [, max_bucket [, seed_value ] ])
PATH
PATH (correlation_integer)
PERCENT_RANK(集計)
PERCENT_RANK(expr [, expr ]...) WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [NULLS { FIRST | LAST } ] ]... )
PERCENT_RANK(分析)
PERCENT_RANK( ) OVER ([ query_partition_clause ] order_by_clause)
PERCENTILE_CONT
PERCENTILE_CONT(expr) WITHIN GROUP (ORDER BY expr [ DESC | ASC ]) [ OVER (query_partition_clause) ]
PERCENTILE_DISC
PERCENTILE_DISC(expr) WITHIN GROUP (ORDER BY expr [ DESC | ASC ]) [ OVER (query_partition_clause) ]
POWER
POWER(n2, n1)
POWERMULTISET
POWERMULTISET(expr)
POWERMULTISET_BY_CARDINALITY
POWERMULTISET_BY_CARDINALITY(expr, cardinality)
PREDICTION
PREDICTION ( [ schema . ] model [ cost_matrix_clause ] mining_attribute_clause )
PREDICTION_COST
PREDICTION_COST ( [ schema . ] model [ , class ] cost_matrix_clause mining_attribute_clause )
PREDICTION_DETAILS
PREDICTION_DETAILS ( [ schema . ] model mining_attribute_clause )
PREDICTION_PROBABILITY
PREDICTION_PROBABILITY ( [ schema . ] model [ , class ] mining_attribute_clause )
PREDICTION_SET
PREDICTION_SET ( [ schema . ] model [ , bestN [ , cutoff ] ] [ cost_matrix_clause ] mining_attribute_clause )
PRESENTNNV
PRESENTNNV(cell_reference, expr1, expr2)
PRESENTV
PRESENTV(cell_reference, expr1, expr2)
PREVIOUS
PREVIOUS(cell_reference)
RANK(集計)
RANK(expr [, expr ]...) WITHIN GROUP (ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] ]... )
RANK(分析)
RANK( ) OVER ([ query_partition_clause ] order_by_clause)
RATIO_TO_REPORT
RATIO_TO_REPORT(expr) OVER ([ query_partition_clause ])
RAWTOHEX
RAWTOHEX(raw)
RAWTONHEX
RAWTONHEX(raw)
REF
REF (correlation_variable)
REFTOHEX
REFTOHEX (expr)
REGEXP_INSTR
REGEXP_INSTR (source_char, pattern [, position [, occurrence [, return_option [, match_parameter ] ] ] ] )
REGEXP_REPLACE
REGEXP_REPLACE(source_char, pattern [, replace_string [, position [, occurrence [, match_parameter ] ] ] ] )
REGEXP_SUBSTR
REGEXP_SUBSTR(source_char, pattern [, position [, occurrence [, match_parameter ] ] ] )
REGR_AVGX
{ REGR_SLOPE | REGR_INTERCEPT | REGR_COUNT | REGR_R2 | REGR_AVGX | REGR_AVGY | REGR_SXX | REGR_SYY | REGR_SXY } (expr1 , expr2) [ OVER (analytic_clause) ]
REMAINDER
REMAINDER(n2, n1)
REPLACE
REPLACE(char, search_string [, replacement_string ] )
ROUND(日付)
ROUND(date [, fmt ])
ROUND(数値)
ROUND(n [, integer ])
ROW_NUMBER
ROW_NUMBER( ) OVER ([ query_partition_clause ] order_by_clause)
ROWIDTOCHAR
ROWIDTOCHAR(rowid)
ROWIDTONCHAR
ROWIDTONCHAR(rowid)
RPAD
RPAD(expr1 , n [, expr2 ])
RTRIM
RTRIM(char [, set ])
SCN_TO_TIMESTAMP
SCN_TO_TIMESTAMP(number)
SESSIONTIMEZONE
SESSIONTIMEZONE
SET
SET (nested_table)
SIGN
SIGN(n)
SIN
SIN(n)
SINH
SINH(n)
SOUNDEX
SOUNDEX(char)
SQRT
SQRT(n)
STATS_BINOMIAL_TEST
STATS_BINOMIAL_TEST(expr1, expr2, p [, { TWO_SIDED_PROB | EXACT_PROB | ONE_SIDED_PROB_OR_MORE | ONE_SIDED_PROB_OR_LESS } ] )
STATS_CROSSTAB
STATS_CROSSTAB(expr1, expr2 [, { CHISQ_OBS | CHISQ_SIG | CHISQ_DF | PHI_COEFFICIENT | CRAMERS_V | CONT_COEFFICIENT | COHENS_K } ] )
STATS_F_TEST
STATS_F_TEST(expr1, expr2 [, { { STATISTIC | DF_NUM | DF_DEN | ONE_SIDED_SIG } expr3 | TWO_SIDED_SIG } ] )
STATS_KS_TEST
STATS_KS_TEST(expr1, expr2 [, { STATISTIC | SIG } ] )
STATS_MODE
STATS_MODE(expr)
STATS_MW_TEST
STATS_MW_TEST(expr1, expr2 [, { STATISTIC | U_STATISTIC | ONE_SIDED_SIG "expr3" | TWO_SIDED_SIG } ] )
STATS_ONE_WAY_ANOVA
STATS_ONE_WAY_ANOVA(expr1, expr2 [, { SUM_SQUARES_BETWEEN | SUM_SQUARES_WITHIN | DF_BETWEEN | DF_WITHIN | MEAN_SQUARES_BETWEEN | MEAN_SQUARES_WITHIN | F_RATIO | SIG } ] )
STATS_T_TEST_INDEP
{ STATS_T_TEST_INDEP | STATS_T_TEST_INDEPU | STATS_T_TEST_ONE | STATS_T_TEST_PAIRED } (expr1, expr2 [, { { STATISTIC | ONE_SIDED_SIG } expr3 | TWO_SIDED_SIG | DF } ] )
STATS_WSR_TEST
STATS_WSR_TEST(expr1, expr2 [, { STATISTIC | ONE_SIDED_SIG | TWO_SIDED_SIG } ] )
STDDEV
STDDEV([ DISTINCT | ALL ] expr) [ OVER (analytic_clause) ]
STDDEV_POP
STDDEV_POP(expr) [ OVER (analytic_clause) ]
STDDEV_SAMP
STDDEV_SAMP(expr) [ OVER (analytic_clause) ]
SUBSTR
{ SUBSTR | SUBSTRB | SUBSTRC | SUBSTR2 | SUBSTR4 } (char, position [, substring_length ])
SUM
SUM([ DISTINCT | ALL ] expr) [ OVER (analytic_clause) ]
SYS_CONNECT_BY_PATH
SYS_CONNECT_BY_PATH(column, char)
SYS_CONTEXT
SYS_CONTEXT('namespace', 'parameter' [, length ])
SYS_DBURIGEN
SYS_DBURIGEN({ column | attribute } [ rowid ] [, { column | attribute } [ rowid ] ]... [, 'text ( )' ] )
SYS_EXTRACT_UTC
SYS_EXTRACT_UTC(datetime_with_timezone)
SYS_GUID
SYS_GUID( )
SYS_TYPEID
SYS_TYPEID(object_type_value)
SYS_XMLAGG
SYS_XMLAGG(expr [, fmt ])
SYS_XMLGEN
SYS_XMLGEN(expr [, fmt ])
SYSDATE
SYSDATE
SYSTIMESTAMP
SYSTIMESTAMP
TAN
TAN(n)
TANH
TANH(n)
TIMESTAMP_TO_SCN
TIMESTAMP_TO_SCN(timestamp)
TO_BINARY_DOUBLE
TO_BINARY_DOUBLE(expr [, fmt [, 'nlsparam' ] ])
TO_BINARY_FLOAT
TO_BINARY_FLOAT(expr [, fmt [, 'nlsparam' ] ])
TO_CHAR(文字)
TO_CHAR(nchar | clob | nclob)
TO_CHAR(日時)
TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
TO_CHAR(数値)
TO_CHAR(n [, fmt [, 'nlsparam' ] ])
TO_CLOB
TO_CLOB(lob_column | char)
TO_DATE
TO_DATE(char [, fmt [, 'nlsparam' ] ])
TO_DSINTERVAL
TO_DSINTERVAL(char [, 'nlsparam' ])
TO_LOB
TO_LOB(long_column)
TO_MULTI_BYTE
TO_MULTI_BYTE(char)
TO_NCHAR(文字)
TO_NCHAR({char | clob | nclob})
TO_NCHAR(日時)
TO_NCHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ] )
TO_NCHAR(数値)
TO_NCHAR(n [, fmt [, 'nlsparam' ] ])
TO_NCLOB
TO_NCLOB(lob_column | char)
TO_NUMBER
TO_NUMBER(expr [, fmt [, 'nlsparam' ] ])
TO_SINGLE_BYTE
TO_SINGLE_BYTE(char)
TO_TIMESTAMP
TO_TIMESTAMP(char [, fmt [, 'nlsparam' ] ])
TO_TIMESTAMP_TZ
TO_TIMESTAMP_TZ(char [, fmt [, 'nlsparam' ] ])
TO_YMINTERVAL
TO_YMINTERVAL(char)
TRANSLATE
TRANSLATE(expr, from_string, to_string)
TRANSLATE ... USING
TRANSLATE ( char USING { CHAR_CS | NCHAR_CS } )
TREAT
TREAT(expr AS [ REF ] [ schema. ]type)
TRIM
TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source )
TRUNC(日付)
TRUNC(date [, fmt ])
TRUNC(数値)
TRUNC(n1 [, n2 ])
TZ_OFFSET
TZ_OFFSET({ 'time_zone_name' | '{ + | - } hh : mi' | SESSIONTIMEZONE | DBTMEZONE } )
UID
UID UNISTR UNISTR( string )
UPDATEXML
UPDATEXML (XMLType_instance, XPath_string, value_expr [, XPath_string, value_expr ]... [, namespace_string ] )
UPPER
UPPER(char)
USER
USER ユーザー定義ファンクション [ schema. ] { [ package. ]function | user_defined_operator } [ @ dblink. ] [ ([ DISTINCT | ALL ] expr [, expr ]...) ]
USERENV
USERENV('parameter')
VALUE
VALUE(correlation_variable)
VAR_POP
VAR_POP(expr) [ OVER (analytic_clause) ] VAR_SAMP VAR_SAMP(expr) [ OVER (analytic_clause) ] VARIANCE VARIANCE([ DISTINCT | ALL ] expr) [ OVER (analytic_clause) ] VSIZE VSIZE(expr)
WIDTH_BUCKET
WIDTH_BUCKET (expr, min_value, max_value, num_buckets)
XMLAGG
XMLAGG(XMLType_instance [ order_by_clause ])
XMLCOLATTVAL
XMLCOLATTVAL (value_expr [ AS c_alias ] [, value_expr [ AS c_alias ] ]... )
XMLCOMMENT
XMLCOMMENT ( value_expr )
XMLCDATA
XMLCDATA ( value_expr )
XMLCONCAT
XMLCONCAT(XMLType_instance [, XMLType_instance ]...)
XMLELEMENT
XMLELEMENT ( [ NAME ] identifier [, XML_attributes_clause ] [, value_expr [ AS c_alias ] [, value_expr [ AS c_alias ] ]... )
XMLFOREST
XMLFOREST ( value_expr [ AS c_alias ] [, value_expr [ AS c_alias ] ]... )
XMLPARSE
XMLPARSE ({ DOCUMENT | CONTENT } value_expr [ WELLFORMED ] )
XMLPI
XMLPI ( [ NAME ] identifier [, value_expr ] )
XMLQUERY
XMLQUERY ( XQuery_string [ XML_passing_clause ] RETURNING CONTENT )
XMLROOT
XMLROOT ( value_expr, VERSION { value_expr | NO VALUE } [, STANDALONE { YES | NO | NO VALUE } ] )
XMLSEQUENCE
XMLSEQUENCE( XMLType_instance | sys_refcursor_instance [, fmt ] )
XMLSERIALIZE
XMLSERIALIZE ( { DOCUMENT | CONTENT } value_expr [ AS datatype ] )
XMLTABLE
XMLTABLE ( [ XML_namespaces_clause , ] XQuery_string XMLTABLE_options )
XMLTABLE_options
[ XML_passing_clause ] [ COLUMNS XML_table_column [, XML_table_column ]... ]
XMLTRANSFORM
XMLTRANSFORM(XMLType_instance, XMLType_instance)