Oracle 分析函数

分析ファンクション
分析ファンクションは、行のグループに基づいて集計値を計算します。各グループに対して複数の行を戻す点で、集計ファンクションと異なります。行のグループをウィンドウといい、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句は、ファンクションが問合せ結果セットを操作することを示します。FROMWHEREGROUP 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に複数の列を指定して、結果の順序を一意にする必要があります。
BETWEENAND
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 *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_S

    { 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_CLOB

    { 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_AVGX
    * REGR_AVGY
    * REGR_COUNT
    * REGR_INTERCEPT
    * REGR_R2
    * REGR_SLOPE
    * REGR_SXX
    * REGR_SXY
    * REGR_SYY

    { 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_INDEPU
    * STATS_T_TEST_ONE
    * STATS_T_TEST_PAIRED

    { 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)

 

posted @ 2013-04-12 00:01  marusu  阅读(539)  评论(0编辑  收藏  举报