ヘッダーをスキップ
Oracle® OLAP Expression Syntaxリファレンス
12cリリース1 (12.1)
B72979-03
  目次へ移動
目次

前
 
次
 

3 行関数

OLAP行関数はディメンション・オブジェクトで使用されるためにSQL行関数の構文を拡張します。SQL行関数を使用するならば、この構文に見覚えがあるはずです。これらの関数は、キューブおよびキューブ・ディメンションへのロード時にリレーショナル・データで、および計算されたメジャーの作成時にOLAP関数と共に使用できます。

この章ではOLAPの行関数の式構文について説明します。内容は次のとおりです。

行関数(カテゴリ別)

行関数は次のカテゴリに分けられます。

数値関数

数値関数は、数値の入力を受け取って数値を返します。


ABS
ACOS
ASIN
ATAN
ATAN2
BITAND
CEIL
COS
COSH
EXP
FLOOR
LN
LOG
MOD
NANVL
POWER
REMAINDER
ROUND(数値)
SIGN
SIN
SINH
SQRT
TAN
TANH
TRUNC(数値)
WIDTH_BUCKET

文字を返す文字関数

これらの関数は、文字の入力を受け取って文字を返します。


CHR
CONCAT
INITCAP
LOWER
LPAD
LTRIM
NLS_CHARSET_NAME
NLS_INITCAP
NLS_LOWER
NLS_UPPER
NLSSORT
REGEXP_REPLACE
REGEXP_SUBSTR
REPLACE
RPAD
RTRIM
SOUNDEX
SUBSTR
TRANSLATE
TRIM
UPPER

NLS文字関数

これらの関数はキャラクタ・セットに関する情報を返します。


NLS_CHARSET_ID
NLS_CHARSET_NAME

数値を返す文字関数

これらの関数は、文字の入力を受け取って数値を返します。


ASCII
INSTR
LENGTH
REGEXP_COUNT
REGEXP_INSTR

一般的な比較関数

これらの関数は値のセットの中で一番大きな値または小さな値を決定します。


GREATEST
LEAST

エンコードおよびデコード関数

これらの関数は、各入力値に対し数値を返します。


DECODE
ORA_HASH
VSIZE

NULL関連の関数

これらの関数はNULLの処理を容易にします。


COALESCE
LNNVL
NANVL
NULLIF
NVL
NVL2

環境および識別子関数

これらの関数はインスタンスおよびセッションに関する情報を返します。


SYS_CONTEXT
UID
USER

ABS

ABSは、数値式の絶対値を返します。

戻り値

NUMBER

構文

ABS(n)

引数

n: 任意の数値式です。

ABS(-15)は、値15を返します。

ACOS

ACOSは、指定した余弦の角度をラジアン単位で計算します。

戻り値

NUMBER

構文

ACOS(n) 

引数

n: 余弦を表す数値式です。範囲は-1から1です。

ACOS(.3)は、値1.26610367を返します。

ADD_MONTHS

ADD_MONTHSは、指定の日付から指定した月数後の日付を返します。

開始日が月末の場合、または返される日付を含む月の日数が少ない場合は、ADD_MONTHSはその月の最後の日を返します。それ以外の場合、返される日付は開始日です。

戻り値

DATE

構文

ADD_MONTHS(date, integer) 

引数

date: 開始日です。

integer: 開始日に追加する月の数です。

ADD_MONTHS('17-JUN-06', 1)は、値17-JUL-06を返します。

ASCII

ASCIIは、式の最初の文字の10進表現を返します。

戻り値

NUMBER

構文

ASCII(char) 

引数

char: 任意のテキスト式です。

ASCII('Boston')は、値66(文字Bに相当するASCII表現)を返します。

ASCIISTR

ASCIISTRは、任意のキャラクタ・セットの文字列を、データベース・キャラクタ・セットのASCIIに変換します。ASCII以外の文字は、\xxxxで表されます。xxxxはUTF-16コード・ユニットです。

戻り値

VARCHAR2

構文

ASCIISTR(char)

引数

char: 任意の文字列です。

ASCIISTR('Skåne')では、値Sk\00E5neが返されます。

ASIN

ASINは、指定した正弦の角度をラジアン単位で計算します。

戻り値

NUMBER

構文

ASIN(n) 

引数

n: 正弦の10進値を含む、-1から1までの範囲の数値式です。

ASIN(.3)は、値0.304692654を返します。

ATAN

ATANは、指定した正接の角度をラジアン単位で計算します。

ATAN2を使用すると、所定の比率の逆正接を示す全範囲(0から2piまで)の数値を取得できます。

戻り値

NUMBER

構文

ATAN(n) 

引数

n: 正接の10進値を含む数値式です。

ATAN(.3)は、値0.291456794を返します。

ATAN2

ATAN2は、所定の比率の逆正接を示す全範囲(0から2piまで)の数値を返します。この関数は、引数の正負に応じて-piからpiまでの値を返します。

ATANを使用すると、指定した正接(比率ではない)の角度がラジアン単位で計算されます。

戻り値

NUMBER

構文

ATAN2(n1, n2) 

引数

n1およびn2は比率の構成要素を表す数値式です。

ATAN2(.3, .2)は、値0.982793723を返します。

BIN_TO_NUM

BIN_TO_NUMは、ビット・ベクトルを同等の数値に変換します。

戻り値

NUMBER

構文

BIN_TO_NUM(expr [, expr ]... ) 

引数

expr: ビット・ベクトルのビットの値に対応する、値が0または1の数値式です。

BIN_TO_NUM(1,0,1,0)は、値10を返します。

BITAND

BITANDは、負ではない2つの整数を表すビットに対してAND演算子の計算を行って、整数を返します。通常、この関数は、DECODE関数と一緒に使用します。

AND演算子は2つのビット値を比較します。両方の値が1の場合は1を返します。いずれかまたは両方の値が0の場合は0を返します。

戻り値

NUMBER

構文

BITAND(expr1, expr2) 

引数

expr1およびexpr2は負でない整数を表す数値式です。

BITAND(7, 29)は、値5を返します。

7のバイナリ値は11129のバイナリ値は11101です。これらを1ビットずつ比較することで、バイナリ値101が生成され、これは10進値の5に相当します。

CAST

CASTは、あるデータ型の値を別のデータ型に変換します。

戻り値

type_nameで指定されるデータ型です。

構文

CAST(expr AS type_name)

引数

exprは、いずれかのデータ型の式にすることができます。

type_nameは、表1-2「ディメンション・データ型」にリストされているいずれかのデータ型です。

表3-1に、どのデータ型が、どの組込みデータ型にキャストできるかを示します。NUMBERには、NUMBERDECIMALおよびINTEGERが含まれます。DATETIMEには、DATETIMESTAMPTIMESTAMP WITH TIMEZONEおよびTIMESTAMP WITH LOCAL TIMEZONEが含まれます。INTERVALには、INTERVAL DAY TO SECONDINTERVAL YEAR TO MONTHが含まれます。

表3-1 互換データ型

変換元 BINARY_FLOAT、BINARY_DOUBLEへ CHAR、VARCHAR2へ NUMBERへ DATETIME、INTERVALへ NCHAR、NVARCHAR2へ

BINARY_FLOAT、BINARY_DOUBLE

不可

CHAR、VARCHAR2

不可

NUMBER

不可

DATETIME、INTERVAL

不可

不可

NCHAR、NVARCHAR2

不可

不可


CAST('123.4567' AS NUMBER(10,2))は、値123.46を返します。

CEIL

CEILは、指定した数値以上の最小の自然数を返します。

戻り値

NUMBER

構文

CEIL(n) 

引数

n: 数値式です。

CEIL(3.1415927)は、値4を返します。

CEIL(-3.4)は、値-3.00を返します。

CHARTOROWID

CHARTOROWIDは、テキスト・データ型からROWIDデータ型に値を変換します。

ROWID疑似列の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

戻り値

ROWID

構文

CHARTOROWID(char)

引数

char: 有効なrowidを形成するテキスト式です。

chartorowid('AAAN6EAALAAAAAMAAB')は、rowidとしてテキスト文字列AAAN6EAALAAAAAMAABを返します。

CHR

CHRは、整数を、データベース・キャラクタ・セットまたは各国語キャラクタ・セットにおいて等価のバイナリ値を含む文字に変換します。

シングルバイト・キャラクタ・セットでは、n > 256の場合に、CHRmod(n, 256)と等価なバイナリに変換します。

Unicode各国語キャラクタ・セットとすべてのマルチバイト・キャラクタ・セットでは、nは1つの完全なコード・ポイントに解決される必要があります。コード・ポイントは検証されないため、無効なコード・ポイントを指定すると、結果は不定になります。

戻り値

VARCHAR2 | NVARCHAR2

構文

CHR(n [ USING NCHAR_CS ]) 

引数

n: 数値式です。

USING NCHAR_CSは、各国語キャラクタ・セットの文字を戻します。各国語でない場合は、データベース・キャラクタ・セットの文字を戻します。OLAPエンジンではUTF8各国語キャラクタ・セットが使用されるため、戻り値が、データベースのUTF16各国語キャラクタ・セットを使用するSQL CHR関数の場合とは異なることがあります。

CHR(67)CHR(67 USING NCHAR_CS)およびCHR(323)はすべて、WE8DECデータベース・キャラクタ・セットとUTF8各国語キャラクタ・セットのあるASCIIベース・システムで文字Cを戻します。CHR(323)CHR(MOD(323, 256))と等価です。

COALESCE

COALESCEは、式のリストから最初のNULL以外の式を返します。または、すべての式がNULLの場合はNULLを返します。

戻り値

最初の引数のデータ型

構文

COALESCE(expr [, expr ]...) 

引数

expr: 任意の式です。

COALESCE(5, 8, 3)は、値5を返します。

COALESCE(NULL, 8, 3)は、値8を返します。

CONCAT

CONCATは、2つの式をシングル・キャラクタ文字列として結合します。戻り値のデータ型は式と同じであるか、データ型が混在している場合は可逆変換となるデータ型です。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

CONCAT(char1, char2)

引数

char1およびchar2はテキスト式です。

CONCAT('The current date is ', 'October 13, 2006')は、文字列The current date is October 13, 2006を返します。

COS

COSは、角度の余弦を計算します。

戻り値

NUMBER

構文

COS(n)

引数

n: 角度(ラジアン単位)を表す数値式です。

COS(180 * 3.1415927/180)は、180度の余弦として値-1を返します。この式では度数がラジアンに変換されます。

COSH

COSHは、双曲角度の余弦を計算します。

戻り値

NUMBER

構文

COSH(n)

引数

n: 双曲角度を表す数値式です。

COSH(0)は、値1を返します。

CURRENT_DATE

CURRENT_DATEは、セッション・タイムゾーンでの現在の日付を返します。

戻り値

DATE

構文

CURRENT_DATE

CURRENT_DATEは、12-AUG-08のような値を返します。

CURRENT_TIMESTAMP

CURRENT_TIMESTAMPは、セッション・タイムゾーンでの現在の日付と時刻を返します。タイムゾーン・オフセットで、セッションの現在のローカル時間を指定します。

戻り値

TIMESTAMP WITH TIME ZONE

構文

CURRENT_TIMESTAMP [ (precision) ]

引数

precision: 返される時刻値における秒の小数部分の精度を指定します。デフォルト値は6です。

CURRENT_TIMESTAMPは、08-AUG-06 11.18.31.082257 AM -08:00のような値を返します。

CURRENT_TIMESTAMP(2)は、08-AUG-06 11.18.31.08 AM -08:00のような値を返します。

DBTIMEZONE

DBTIMEZONEは、データベースのタイムゾーンの値を、協定世界時(UTC)に対するタイムゾーン・オフセットまたはタイムゾーンの地域名として返します。

他のタイムゾーン・オフセットを取得するには、TZ_OFFSETを使用します。

戻り値

VARCHAR2

構文

DBTIMEZONE

DBTIMEZONEは、山岳部標準時の場合はオフセット-08:00を返します。

DECODE

DECODEは、1つの式を1つ以上の検索文字列と1つずつ比較します。

exprsearchの場合、DECODEは対応するresultを返します。一致しない場合、DECODEdefaultを返します。defaultを省略した場合、DECODENULLを返します。

戻り値

最初のresult引数のデータ型

構文

DECODE(expr, search, result
          [, search, result ]...
          [, default ]
      )

引数

exprは1つ以上の検索文字列と比較される式です。

searchexprと一致するかどうか調べられる文字列です。

resultexprが対応する検索文字列と一致した場合の戻り値です。

defaultexprがどの検索文字列とも一致しない場合の戻り値です。defaultを省略すると、DECODENULLを返します。

引数としてすべての数値型または文字型を指定できます。2つのnullは等価です。exprがNULLの場合、DECODEは、最初のsearch(NULL)に対してresultを返します。

exprsearchesresultsおよびdefaultを含む構成要素の最大数は255です。

DECODE(sysdate, '21-JUN-06', 'Summer Solstice', '21-DEC-06', 'Winter Solstice', 'Have a nice day!')

次の値が返されます。

2006年6月21日にSummer Solstice

2006年12月21日にWinter Solstice

他のすべての日にHave a nice day!

EXP

EXPは、en乗を返します(e = 2.71828183)。このファンクションは、引数と同じ型の値を戻します。

戻り値

NUMBER

構文

EXP(n)

引数

n: 指数を表す数値式です。

EXP(4)は、値54.59815を返します。

EXTRACT(日時)

EXTRACTは、日時式または期間式から、指定したフィールドの値を返します。

戻り値

NUMBER

構文

EXTRACT( { { YEAR
           | MONTH
           | DAY
           | HOUR
           | MINUTE
           | SECOND
           }
         | { TIMEZONE_HOUR
           | TIMEZONE_MINUTE
           }
         | { TIMEZONE_REGION
           | TIMEZONE_ABBR
           }
         }
    FROM   { datetime_value_expression
           | interval_value_expression
           }
       )

引数

datetime_value_expression: datetimeデータ型の式です。

interval_value_expression: intervalデータ型の式です。

EXTRACT(MONTH FROM CURRENT_TIMESTAMP)は、現在のタイムスタンプが08-AUG-06 01.10.55.330120 PM -07:00の場合に、値8を返します。

同じ条件として、EXTRACT(TIMEZONE_HOUR FROM CURRENT_TIMESTAMP)は値-7を返します。

FLOOR

FLOORは、指定した数値以下の最大の整数を返します。

戻り値

NUMBER 

構文

FLOOR(n)

引数

n: 任意の数値式です。

FLOOR(15.7)は、値15を返します。

FLOOR(-15.7)は、値-16を返します。

FROM_TZ

FROM_TZは、タイムスタンプ値とタイムゾーンをTIMESTAMP WITH TIME ZONEデータ型に変換します。

戻り値

TIMESTAMP WITH TIME ZONE

構文

FROM_TZ (timestamp_value, time_zone_value)

引数

timestamp_value: TIMESTAMPデータ型の式です。

time_zone_value: TZH:TZMフォーマットで文字列を返すテキスト式です(TZRにオプションのTZDが付くフォーマットの場合もあります)。

FROM_TZ(TIMESTAMP '2008-03-26 08:00:00', '3:00')は、値26-MAR-08 08.00.00.000000 AM +03:00を返します。

GREATEST

GREATESTは、式のリストから最大の式を返します。最初の式より後の式はすべて、比較の前に最初の式のデータ型に暗黙的に変換されます。テキスト式は文字ごとに比較されます。

式のリストから最小の式を取得するには、LEASTを使用します。

戻り値

最初の式のデータ型

構文

GREATEST(expr [, expr ]...)

引数

expr: 任意の式です。

GREATEST('Harry','Harriot','Harold')は、値Harryを返します。

GREATEST(7, 19, 3)は、値19を返します。

HEXTORAW

HEXTORAWは、16進値をRAW値に変換します。

戻り値

RAW

構文

HEXTORAW (char)

引数

char: CHARVARCHAR2NCHARまたはNVARCHAR2データ型の16進値です。

HEXTORAW('7D')は、RAW7Dを返します。

INITCAP

INITCAPは、指定したテキスト式の各語の先頭を大文字、それ以外を小文字として返します。語は空白か英字以外の文字で区切ります。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

INITCAP(char)

引数

char: 任意のテキスト式です。

INITCAP('top ten tunes')INITCAP('TOP TEN TUNES')はどちらも文字列Top Ten Tunesを返します。

INSTR

INSTR関数は、stringsubstringを検索します。この関数は、string内の文字の位置を示す整数を返します。一致する部分がない場合は、0を返します。

  • INSTRは、入力キャラクタ・セットで定義される文字を使用して文字列を計算します。

  • INSTRBには、文字でなくバイトを使用します。

  • INSTRCは、完全なUnicodeキャラクタを使用します。

REGEXP_INSTRでは追加のオプションを使用できます。

戻り値

NUMBER

構文

{ INSTR | INSTRB | INSTRC }
(string , substring [, position [, occurrence ] ])

引数

stringは検索範囲のテキスト式です。

substringは検索対象のテキスト文字列です。

positionstring内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、INSTRは文字列の最後から逆方向に数えて検索します。デフォルト値の1では、関数が文字列の最初の文字から検索を開始します。

occurrenceは関数で検索する文字列の出現箇所を示す整数です。occurrenceの値は正数である必要があります。デフォルト値の1では、関数がsubstringの最初の出現箇所を検索します。

INSTR('CORPORATE FLOOR','OR', 3, 2)は、文字列CORPORATE FLOORの3番目の文字(R)から開始して、部分文字列ORの2番目の出現箇所を検索します。値14が返されますが、これはFLOORの2番目のOの位置です。

LAST_DAY

LAST_DAYは、特定の日付が含まれる月の最後の日付を返します。

戻り値

DATE

構文

LAST_DAY(date)

引数

date: 任意の日時式です。

LAST_DAY('26-MAR-06')は、値31-MAR-06を返します。

LEAST

LEASTは、式のリストから最小の式を返します。最初の式より後の式はすべて、比較の前に最初の式のデータ型に暗黙的に変換されます。テキスト式は文字ごとに比較されます。

式のリストから最大の式を取得するにはGREATESTを使用します。

戻り値

最初の式のデータ型

構文

LEAST(expr [, expr ]...)

引数

expr: 任意の式です。

LEAST('Harry','Harriot','Harold')は、値Haroldを返します。

LEAST(19, 3, 7)は、値3を返します。

LENGTH

LENGTH関数は、テキスト式の長さを返します。

  • LENGTHは、文字数を数えます。

  • LENGTHBは、文字のかわりにバイトを使用します。

  • LENGTHCは、完全なUnicodeキャラクタを使用します。

戻り値

NUMBER

構文

{ LENGTH | LENGTHB | LENGTHC }(char)

引数

char: 任意のテキスト式です。

LENGTH('CANDIDE')は、値7を返します。

LN

LNは、0よりも大きな数の自然対数を返します。

戻り値

NUMBER

構文

LN(n)

引数

n: 0よりも大きな値を含む任意の数値式です。

LN(95)は、値4.55387689を返します。

LNNVL

LNNVLは、条件の1つまたは両方のオペランドがNULLの可能性がある場合に条件を評価します。LNNVLは、スカラー式を指定できる場所で使用できます。IS [NOT] NULLANDまたはOR条件が無効だが、潜在的なNULLに対応するために必要となるコンテキストでも、使用可能です。

注意: この関数は、条件が偽または不明の場合に1(true)を返し、条件が真の場合に0(false)を返します。

戻り値

NUMBER

構文

LNNVL(condition)

引数

condition: スカラー値を含む任意の式です。

LNNVL(1 > 4)1(true)を返します。

LOCALTIMESTAMP

LOCALTIMESTAMPは、セッション・タイムゾーンでの現在の日付と時刻を返します。

戻り値

TIMESTAMP

構文

LOCALTIMESTAMP [ (timestamp_precision) ]

引数

timestamp_precision: 返される時刻値の秒の精度を指定します。

LOCALTIMESTAMPは、09-AUG-06 08.11.37.045186 AMのような値を返します。

LOCALTIMESTAMP(2)は、09-AUG-06 08.11.37.040000 AMのような値を返します。

LOG

LOGは、式の対数を計算します。

戻り値

NUMBER

構文

LOG(n2, n1)

引数

n2は対数の計算に使用する基数です。

n1は対数を計算する値です。0より大きな任意の数値式です。この値が0以下の場合、LOGはNULL値を返します。

LOG(10,100)は、値2を返します。

LOWER

LOWERは、テキスト表現のすべてのアルファベット文字を小文字に変換します。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

LOWER(char)

引数

char: 任意のテキスト式です。

LOWER('STOP SHOUTING')は、文字列stop shoutingを返します。

LPAD

LPADは、指定された長さになるまで式の左に文字を追加します。戻り値のデータ型は元のテキストと同じです。

RPADを使用すると、右側に文字が追加されます。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

LPAD(expr1, n [, expr2 ])

引数

expr1: ベース文字列を表すテキスト式です。

n: 返される式の合計長です。expr1nよりも長い場合、この関数はexpr1n文字に切り捨てます。

expr2: 埋め込む文字のテキスト式です。デフォルトでは空白です。

LPAD('Page 1',15,'*.')は、値*.*.*.*.*Page 1を返します。

LPAD('Stay tuned', 4)は、値Stayを返します。

LTRIM

LTRIMは、テキスト式を左から右にスキャンして、trim式の文字と一致するすべての文字を削除します。一致しない文字が出現した時点で停止します。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

LTRIM(char [, set ])

引数

char: 文字を削除するテキスト式です。

setは削除する文字を含むテキスト式です。setのデフォルト値は1つの空白です。

LTRIM(' . . . .Last Word', ' .')は、値Last Wordを返します。

MOD

MODは、数値を割った余りを返します。除数が0の場合は、数値を返します。

戻り値

NUMBER

構文

MOD(n2, n1)

引数

n2: 除算の対象の数値を表す数値式です。

n1: 除数を表す数値式です。

MOD(13,7)は、値6を返します。

MONTHS_BETWEEN

MONTHS_BETWEENは、2つの日付の間の月数を計算します。2つの日付の日を示す構成要素が同じ場合、または両方の日付が月末の場合、戻り値は自然数です。この他の場合、戻り値に小数が含まれ、1か月を31日として日数の差が表されます。

戻り値

NUMBER

構文

MONTHS_BETWEEN(date1, date2)

引数

date1およびdate2: 日時式です。date1date2よりも後の日付の場合、結果は正になります。date1date2よりも前の日付の場合、結果は負になります。

MONTHS_BETWEEN('15-APR-06', '01-JAN-06')は、値3.4516129を返します。

NANVL

NANVLは、値が数値かどうかを確認します。数値である場合、NANVLはその値を返します。数値でない場合は、別の値を返します。この関数は、バイナリdoubleまたはバイナリfloatのNaN値(数値ではない値)をゼロまたはNULLに変換する際に使用します。

戻り値

datatype

構文

NANVL (expression, alternate)

引数

expression: 任意の値です。

alternate: expressionが数値ではない場合に返される数値です。

NEW_TIME

NEW_TIMEは、あるタイムゾーンの日付と時刻を別のタイムゾーンの日付と時刻に変換します。この関数を使用する前に、NLS_DATE_FORMATパラメータを設定して24時間表示にしてください。

戻り値

DATE

構文

NEW_TIME(date, timezone1, timezone2)

引数

date: 新しいタイムゾーンに変換する日時式です。

timezone1: dateのタイムゾーンです。

timezone2: 新しいタイムゾーンです。

タイムゾーン引数には、表3-2の値しか使用できません。他のタイムゾーンの場合は、FROM_TZを使用します。

表3-2タイムゾーン

タイムゾーン 略称

アラスカハワイ夏時間

HDT

アラスカハワイ標準時

HST

大西洋夏時間

ADT

大西洋標準時

AST

ベーリング夏時間

BDT

ベーリング標準時

BST

中部夏時間

CDT

中部標準時

CST

東部夏時間

EDT

東部標準時

EST

グリニッジ標準時

GMT

山地夏時間

MDT

山地標準時

MST

ニューファンドランド標準時

NST

太平洋夏時間

PDT

太平洋標準時

PST

ユーコン夏時間

YDT

ユーコン標準時

YST


NEW_TIME(SYSDATE, 'PST', 'EST')は、SYSDATEが太平洋標準時間の18-JAN-07 01:38:07のとき、東部標準時間の18-JAN-07 04:38:07のような値を返します。この例では、NLS_DATE_FORMATDD-MON-RR HH:MI:SSに設定されます。

NEXT_DAY

NEXT_DAYは、指定した日付以降の、特定の曜日の最初の日付を返します。

戻り値

DATE

構文

NEXT_DAY(date, char)

引数

dateは日時式です。

charはセッションの言語で曜日(月曜日など)を示すテキスト式です。

NEXT_DAY('11-SEP-01', 'Monday')は、値17-SEP-01を返します。

NLS_CHARSET_ID

NLS_CHARSET_IDは、指定されたキャラクタ・セット名に対応する識別番号を返します。

戻り値

NUMBER

構文

NLS_CHARSET_ID  ( charset_name )

引数

charset_name: 有効なキャラクタ・セット名であるVARCHAR2表現です。

NLS_CHARSET_ID('AL32UTF8')は値873を返します。

NLS_CHARSET_NAME

NLS_CHARSET_NAMEは、指定されたキャラクタ・セット番号に対応する名前を返します。

戻り値

VARCHAR2

構文

NLS_CHARSET_NAME (charset_id)

引数

charset_id: 有効なキャラクタ・セット番号、または次のキーワードのいずれかです。

  • CHAR_CS: データベース・キャラクタ・セットを表します。

  • NCHAR_CS: 各国語キャラクタ・セットを表します。データベースの各国語キャラクタ・セットは、UTF-8またはAL16UTF16 (デフォルト)のいずれかです。ただし、アナリティック・ワークスペースの各国語キャラクタ・セットは常にUTF-8です。

番号がキャラクタ・セットに対応しない場合は、NULLが返されます。

NLS_CHARSET_NAME(2000)は値AL16UTF16を返します。

NLS_INITCAP

NLS_INITCAPは、大文字で始まり、小文字が続く単語の文字列を返します。単語は空白および英数字で区切られます。

戻り値

VARCHAR2

構文

NLS_INITCAP (char [, 'nlsparam' ])

引数

char: 任意のテキスト文字列です。

nlsparam'NLS_SORT =sort'という書式で、sortは言語ソート順またはBINARYに基づくソートです。言語ソート基準は、大文字と小文字の変換のために特別な言語要件を処理します。これらの要件により、charとは異なる長さの値が戻されることもあります。nlsparamを省略すると、この関数は使用中のセッションのデフォルトのソート順を使用します。

NLS_INITCAP('WALKING&THROUGH*A*winter wonderland')は値Walking#Through*A*Winter Wonderlandを返します。

NLS_INITCAP('ijsland')は値Ijslandを返しますが、NLS_INITCAP(NLS_INITCAP('ijsland', 'NLS_SORT = XDutch')IJslandを返します。

NLS_LOWER

NLS_LOWERは、テキスト表現のすべてのアルファベット文字を小文字に変換します。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

NLS_LOWER (char [, 'nlsparam' ])

引数

char: 任意のテキスト式です。

nlsparamNLS_SORT =sort[_ai |_ci]という形式の言語ソート順序です。sortはNLS言語です。言語に接尾辞を追加して、ソートを変更できます。_aiの場合はアクセント記号を区別しないソート、_ciの場合は大文字と小文字を区別しないソートです。

NLS_LOWER('STOP SHOUTING')は、文字列stop shoutingを返します。

NLS_UPPER

NLS_UPPERは、テキスト表現のすべてのアルファベット文字を大文字に変換します。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

NLS_UPPER (char [, 'nlsparam' ])

引数

char: 任意のテキスト式です。

nlsparamNLS_SORT =sort[_ai |_ci]という形式の言語ソート順序です。sortはNLS言語です。言語に接尾辞を追加して、ソートを変更できます。_aiの場合はアクセント記号を区別しないソート、_ciの場合は大文字と小文字を区別しないソートです。

NLS_UPPER('This is an emergency')は、文字列THIS IS AN EMERGENCYを返します。

NLSSORT

NLSSORTは、テキスト文字列のソートに使用されるバイト文字列を返します。このファンクションを使用すると、文字列のバイナリ値ではなく言語ソート順に基づいてソートや比較の操作を指定できます。

注意: NLSSORTは、別の関数に渡すことのできるRAW値を返します。NLSSORTから返される値のメジャーまたは計算済メジャーを作成するには、RAWTOHEX関数を使用します。

言語ソートの詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。

戻り値

RAW

構文

NLSSORT(char [, 'nlsparam' ])

引数

char: テキスト式です。

nlsparamNLS_SORT =sort[_ai |_ci]という形式の言語ソート順序です。sortはNLS言語です。言語に接尾辞を追加して、ソートを変更できます。_aiの場合はアクセント記号を区別しないソート、_ciの場合は大文字と小文字を区別しないソートです。

NLSSORT('Rumpelstiltskin')は、デフォルトの言語ソート(この場合は米英語)のために値52756D70656C7374696C74736B696E00を返します。

NULLIF

NULLIFは、2つの式を比較します。式が等しい場合はNULLを返し、等しくない場合は最初の式を返します。

戻り値

最初の引数のデータ型

構文

NULLIF(expr1, expr2)

引数

expr1: 基準の式です。リテラルNULLは指定できません。

expr2: 基準の式と比較する式です。

NULLIF('red', 'Red')は、値redを返します。

NUMTODSINTERVAL

NUMTODSINTERVALは、数値をINTERVAL DAY TO SECONDデータ型に変換します。

戻り値

INTERVAL DAY TO SECOND

構文

NUMTODSINTERVAL(n, 'interval_unit')

引数

n: 任意の数値式です。

interval_unitは単位を指定するテキスト式です。次のいずれかの値に解決される必要があります。

  • DAY

  • HOUR

  • MINUTE

  • SECOND

これらの値では大文字と小文字は区別されません。

NUMTODSINTERVAL(100, 'MINUTE')は、値+00 01:40:00.000000を返します。

NUMTOYMINTERVAL

NUMTOYMINTERVALは、数値をINTERVAL YEAR TO MONTHデータ型に変換します。

戻り値

INTERVAL YEAR TO MONTH

構文

NUMTOYMINTERVAL(n, 'interval_unit')

引数

n: 任意の数値式です。

interval_unitは単位を指定するテキスト式です。次のいずれかの値に解決される必要があります。

  • YEAR

  • MONTH

これらの値では大文字と小文字は区別されません。

NUMTOYMINTERVAL(18, 'MONTH')は、値+01-06を返します。

NVL

NVLは、NULLを文字列で置換します。NVLは、基準の式がNULLの場合は置換文字列を返し、基準の式がNULLでない場合は基準の式の値を返します。

式がNULLの場合とそうでない場合に置換する値を変更するには、NVL2を使用します。

戻り値

最初の引数のデータ型

構文

NVL(expr1, expr2)

引数

expr1は評価される基準の式です。

expr2expr1がNULLの場合に返される置換文字列です。

NVL('First String', 'Second String')は、値First Stringを返します。

NVL(null, 'Second String')は、値Second Stringを返します。

NVL2

NVL2は、指定した式がNULLでない場合にある値を返し、指定した式がNULLの場合には別の値を返します。

NULL値を文字列で置換するにはNVLを使用します。

戻り値

最初の引数のデータ型

構文

NVL2(expr1, expr2, expr3)

引数

expr1はこの関数で値を評価する基準の式です。

expr2expr1がNULLでないときにこの式の値を返します。

expr3expr1がNULLのときにこの式の値を返します。

NVL2('Which string?', 'First String', 'Second String')は、値First Stringを返します。

ORA_HASH

ORA_HASHは、式のハッシュ値を生成します。分析用に複数のバケットに値セットをランダムに割り当てる場合や、ランダムな数値セットを生成する場合に使用できます。

戻り値

NUMBER

構文

ORA_HASH  (expr [, max_bucket [, seed_value ] ])

引数

expr: ハッシュ値を生成するためのデータを提供する任意の式です。

max_bucket: 最大バケット数です。たとえば、max_bucketが5に設定されている場合は、6つのバケットが作成され、ORA_HASHから0から5の値が返されます。この値は、0から4294967295または2^32-1 (デフォルト)に設定してください。

seed_value: ハッシュ値を生成するためにORA_HASHによって使用される値です。異なるseed_valueを入力すると、異なる結果を得られます。この値は、0 (デフォルト)から4294967295または2^32-1に設定してください。

ORA_HASH(PRODUCT_CUBE.PRICES, 5)は、ハッシュ5の列に示されているように、価格メジャーの各値に対して0から5の範囲の値を返します。ハッシュ5の列では、行のソートも行われています。

ORA_HASH(PRODUCT_CUBE.PRICES, 5, 13)でも0から5の範囲の値が返されますが、異なるシードが使用されています。

製品 価格 ハッシュ5 シード13
ENVY STD 200539.83 0 4
ENVY EXE 255029.31 0 5
1GB USB DRV 44645.65 1 2
DLX MOUSE 1379.49 2 2
144MB DISK 3011.43 2 5
512 USB DRV 22139.99 2 2
19 SVGA 34837.16 3 0
56KPS MODEM 12478 3 2
ENVY EXT KBD 4312.22 3 5
17 SVGA 22605.55 4 1
EXT CD ROM 17990.14 4 0
ENVY ABM 205462.25 5 1

POWER

POWERは、数値を累乗します。

戻り値

NUMBER

構文

POWER(n2, n1)

引数

n2は累乗する任意の数値式です。

n1: 指数です。

POWER(3,2)は、値9を返します。

RAWTOHEX

RAWTOHEXは、RAWデータを、その16進数表現を含む文字値に変換します。

戻り値

VARCHAR2

構文

RAWTOHEX(raw)

引数

rawは、LONGLONG RAWCLOBBLOBまたはBFILE以外の任意のスカラー・データ型にすることができます。

RAWTOHEX(NLSSORT('Rumpelstiltskin'))は、NLSSORTから返されるRAW値を16進値52756D70656C7374696C74736B696E00に変換します。

REGEXP_COUNT

REGEXP_COUNTは、文字列内で正規表現パターンを検索し、そのパターンに一致する回数を返します。一致がない場合、この関数は0を返します。

このファンクションでは、入力キャラクタ・セットによって定義された文字を使用して文字列を評価します。

戻り値

NUMBER

構文

REGEXP_COUNT (source_char, pattern
              [, position
                 [, match_parameter ]
              ]
             )

引数

source_charは検索範囲のテキスト式です。

patternは検索対象の文字列です。ピリオドは任意の文字に一致します。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。

positionsource_char内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、関数は文字列の最後から逆方向に数えて検索します。positionのデフォルト値の1では、関数がsource_charの最初の文字から検索を開始します。

match_parameterはテキスト・リテラルで、ファンクションが持つデフォルトの照合動作を変更できます。次の1つ以上の値を指定できます。

  • c: 照合で大文字と小文字を区別します。

  • i: 照合で大文字と小文字を区別しません。

  • m: ソース文字列を複数行とみなします。関数は、^および$をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。

  • n: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。

  • x: 空白を無視します。

REGEXP_COUNT('Mississippi', 'i', 1)は、文字列Mississippiの最初の文字から開始して、文字iを検索します。この関数は値4を返します。

REGEXP_INSTR

REGEXP_INSTRは、文字列内で正規表現パターンを検索します。一致する部分文字列の最初または最後の位置を示す整数を返します。一致する値が見つからない場合は0(ゼロ)を戻します。

このファンクションでは、入力キャラクタ・セットによって定義された文字を使用して文字列を評価します。

戻り値

NUMBER

構文

REGEXP_INSTR (source_char, pattern
              [, position
                 [, occurrence
                    [, return_option
                       [, match_parameter ]
                    ]
                 ]
              ]
             )

引数

source_charは検索範囲のテキスト式です。

patternは検索対象の文字列です。ピリオドは任意の文字に一致します。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。

positionsource_char内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、関数は文字列の最後から逆方向に数えて検索します。positionのデフォルト値の1では、関数がsource_charの最初の文字から検索を開始します。

occurrenceは関数で検索するpatternの出現箇所を示す整数です。occurrenceの値は正であることが必要です。occurrenceのデフォルト値1では、関数がpatternの最初の出現箇所を検索します。

return_optionは一致した位置を返す場合は0 (デフォルト)、一致の直後の文字の位置を返す場合は1です。

match_parameterはテキスト・リテラルで、ファンクションが持つデフォルトの照合動作を変更できます。次の1つ以上の値を指定できます。

  • c: 照合で大文字と小文字を区別します。

  • i: 照合で大文字と小文字を区別しません。

  • m: ソース文字列を複数行とみなします。関数は、^および$をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。

  • n: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。

  • x: 空白を無視します。

REGEXP_INSTR('Mississippi', 'i', 1, 3)は、文字列Mississippiの最初の文字から開始して、その中の3番目の文字iを検索します。この関数は値8を返します。

REGEXP_REPLACE

REGEXP_REPLACEは、文字列内で正規表現パターンを検索して、別の文字列で置換します。デフォルトでは、この関数は、正規表現パターンのすべての出現箇所をreplace_stringで置換してsource_charを返します。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

REGEXP_REPLACE(source_char, pattern
               [, replace_string
                  [, position
                     [, occurrence
                        [, match_parameter ]
                     ]
                  ]
               ]
              )

引数

source_charは検索範囲のテキスト式です。

patternは検索対象のテキスト式です。通常は、テキスト・リテラルであり、最大512バイトを含むことができます。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。

replace_stringsource_charpatternを置換するテキストです。

positionsource_char内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、関数は文字列の最後から逆方向に数えて検索します。positionのデフォルト値の1では、関数がsource_charの最初の文字から検索を開始します。

occurrenceは関数で検索するpatternの出現箇所を示す整数です。occurrenceの値は正であることが必要です。occurrenceのデフォルト値1では、関数がpatternの最初の出現箇所を検索します。

match_parameterはテキスト・リテラルで、ファンクションが持つデフォルトの照合動作を変更できます。次の1つ以上の値を指定できます。

  • c: 照合で大文字と小文字を区別します。

  • i: 照合で大文字と小文字を区別しません。

  • m: ソース文字列を複数行とみなします。関数は、^および$をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。

  • n: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。

  • x: 空白を無視します。

REGEXP_REPLACE('500 Oracle Parkway, Redwood Shores, CA', '( ){2,}', ' ')

余分な空白は削除されて文字列が返されます

500 Oracle Parkway, Redwood Shores, CA

REGEXP_SUBSTR

REGEXP_SUBSTRは、文字列内でパターンを検索し、一致する文字列を返します。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR

構文

REGEXP_SUBSTR(source_char, pattern
              [, position
                 [, occurrence
                    [, match_parameter ]
                 ]
              ]
             )

引数

source_charは検索範囲のテキスト式です。

patternは検索対象のテキスト式です。通常は、テキスト・リテラルであり、最大512バイトを含むことができます。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。

positionsource_char内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、関数は文字列の最後から逆方向に数えて検索します。positionのデフォルト値の1では、関数がsource_charの最初の文字から検索を開始します。

occurrenceは関数で検索するpatternの出現箇所を示す整数です。occurrenceの値は正であることが必要です。occurrenceのデフォルト値1では、関数がpatternの最初の出現箇所を検索します。

match_parameterは関数のデフォルト照合動作を変更できるテキスト式です。次の1つ以上の値を指定できます。

  • c: 照合で大文字と小文字を区別します。

  • i: 照合で大文字と小文字を区別しません。

  • m: ソース文字列を複数行とみなします。関数は、^および$をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。

  • n: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。

  • x: 空白を無視します。

REGEXP_SUBSTR('7 W 96th St, New York, NEW YORK', 'new york', 10, 2, 'i')は、10番目の文字から検索を開始し、大文字と小文字を区別せずにNEW YORKを照合します。

REGEXP_SUBSTR('parsley, sage, rosemary, thyme', 's[^,]+e', 1, 2)は、最初の文字から検索を開始し、文字s、カンマ以外の任意の数の文字および文字eから構成される2番目の部分文字列を照合します。この例では、関数は値sageを返します。

REMAINDER

REMAINDERは、ある数を別の数で割った剰余を、次の式を使用して丸めて返します。

n2 - (n1 * N)

このとき、Nn2/n1に最も近い整数です。

戻り値

NUMBER

構文

REMAINDER(n2, n1)

引数

n1: 除数を表す数値式です。

n2: 被除数を表す数値式です。

REMAINDER(18,7)は、値-3を返します。

REPLACE

REPLACEは、文字列内で正規表現パターンを検索し、パターンを別の文字列で置換し、変更された文字列を返します。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

REPLACE(char, search_string [, replacement_string ])

引数

charは検索範囲のテキスト式です。

search_string: 検索対象のテキスト式です。

replacement_stringcharsearch_stringを置換するテキスト式です。

REPLACE('Nick Nack', 'N', 'Cl')は、文字列Click Clackを返します。

ROUND (日付)

ROUNDは、日付フォーマットで指定した単位で四捨五入した日付を返します。

戻り値

DATE

構文

ROUND(date [, fmt ])

引数

date: 日付と時刻を示す式です。

fmtは日付フォーマットのテキスト・リテラルです。『Oracle Database SQL言語リファレンス』を参照してください。

ROUND(SYSDATE, 'YEAR')は、2006年後半のすべての日付に対して値01-JAN-07を返します。

ROUND(TO_DATE('13-OCT-06'), 'MONTH')は、値01-OCT-06を返します。

ROUND (数値)

ROUNDは、指定の小数点以下の桁数で四捨五入した数値を返します。

戻り値

NUMBER

構文

ROUND(n [, integer ])

引数

n: 四捨五入する数値です。

integer: 四捨五入した数値の小数点以下の桁数です。負の値を指定すると、小数点の左側の桁が四捨五入されます。デフォルト値は0です。

ROUND(15.193)は、値15を返します。

ROUND(15.193,1)は、値15.2を返します。

ROUND(15.193,-1)は、値20を返します。

ROWIDTOCHAR

ROWIDTOCHARは、行アドレスをROWIDデータ型からテキストに変換します。戻り値は、常にデータベース・キャラクタ・セットの18文字です。

戻り値

VARCHAR2

構文

ROWIDTOCHAR(rowid)

引数

rowidは変換する行アドレスです。

ROWIDTONCHAR

ROWIDTONCHARは、行アドレスをROWIDデータ型からテキストに変換します。戻り値は、常に各国語キャラクタ・セットの18文字です。

戻り値

NVARCHAR2

構文

ROWIDTONCHAR(rowid)

引数

rowidは変換する行アドレスです。

RPAD

RPADは、指定した長さになるまで式の右に文字を追加します。戻り値のデータ型は元のテキストと同じです。

LPADを使用すると、左側に文字が追加されます。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

RPAD(expr1 , n [, expr2 ])

引数

expr1: ベース文字列を表すテキスト式です。

n: 返される式の合計長です。expr1nよりも長い場合、この関数はexpr1n文字に切り捨てます。

expr2: 埋め込む文字のテキスト式です。デフォルトでは空白です。

RPAD('Stay tuned', 15, '. ')は、値Stay tuned. . .を返します。

RPAD('Stay tuned', 4)は、値Stayを返します。

RTRIM

RTRIMは、テキスト式を右から左にスキャンして、trim式の文字と一致するすべての文字を削除します。一致しない文字が出現した時点で停止します。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

RTRIM(char [, set ])

引数

char: 文字を削除するテキスト式です。

setは削除する文字を含むテキスト式です。setのデフォルト値は1つの空白です。

RTRIM('You did that!?!?!?!', '?!')は、値You did thatを返します。

RTRIM('3.14848', '84')は、テキスト値3.1を返します。

SESSIONTIMEZONE

SESSIONTIMEZONEは、現行セッションのタイムゾーンを返します。戻り値の型は、協定世界時(UTC)に対するタイムゾーン・オフセットまたはタイムゾーンの地域名です。

戻り値

VARCHAR2

構文

SESSIONTIMEZONE

SESSIONTIMEZONEは、東部標準時の場合は-05:00を返します。

SIGN

SIGNは、指定した数値が、負、0または正のいずれかを示す値を返します。

  • n < 0の場合は-1

  • n = 0の場合は0

  • n > 0の場合は1

戻り値

NUMBER

構文

SIGN(n)

引数

n: 数値式です。

SIGN(-15)は、値-1を返します。

SIN

SINは、角度の正弦を返します。

戻り値

NUMBER

構文

SIN(n)

引数

n: 角度(ラジアン単位)を表す数値式です。

SIN(30 * 3.1415927/180)は、角度30度の正弦を値0.500000007と計算します。この数値式では度数がラジアンに変換されます。

SINH

SINHは、双曲角度の正弦を返します。

戻り値

NUMBER

構文

SINH(n)

引数

n: 双曲角度を表す数値式です。

SINH(1)は、値1.17520119を返します。

SOUNDEX

SOUNDEXは、テキスト式の音声表現を含む文字列を返します。この関数では、異なるスペルで発音が似ている語句を比較できます。

この関数は、Donald KnuthのThe Art of Computer Programmingに記述されているアルゴリズムに基づいています。このアルゴリズムは英語用に設計されています。英語以外の言語での結果は予測できず、不十分な場合が多いです。

戻り値

VARCHAR2

構文

SOUNDEX (char)

引数

char: 任意のテキスト式です。

このすべての例で値D500が返されます。

soundex('Donna')

soundex('Diane')

soundex('Dana')

SQRT

SQRTは、数値の平方根を返します。

戻り値

NUMBER

構文

SQRT(n)

引数

n: 正の数を表す数値式です。

SQRT(13)は、値3.60555128を返します。

SUBSTR

SUBSTRは、文字列の、指定した文字位置から指定した文字数までの部分を返します。

  • SUBSTRは、入力キャラクタ・セットによって定義された文字を使用して、長さを計算します。

  • SUBSTRBには、文字でなくバイトを使用します。

  • SUBSTRCは、完全なUnicodeキャラクタを使用します。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

{ SUBSTR | SUBSTRB | SUBSTRC }(char, position [, substring_length ])

引数

char: 部分文字列を導出するベース文字列を表すテキスト式です。

position: 次のように部分文字列の最初の文字を指定します。

  • positionが正の場合、関数はcharの先頭から数えて、最初の文字を決定します。

  • positionが負の場合、関数はcharの最後から逆方向に数えます。

  • positionが0の場合、最初の文字が部分文字列の先頭になります。

substring_length: 返される文字列の文字数です。デフォルトでは、関数はベース文字列の最後までのすべての文字を返します。1未満の値を指定すると、関数はNULLを返します。

substr('firefly', 1, 4)は、部分文字列fireを返します。

substr('firefly', -3, 3)は、部分文字列flyを返します。

SYS_CONTEXT

SYS_CONTEXTは、名前付きコンテキストの属性の値を返します。コンテキスト、属性および値は、データベースですでに定義されている必要があります。コンテキストが定義されていない場合、SYS_CONTEXTNULLを返します。

戻り値

VARCHAR2

構文

SYS_CONTEXT ('namespace', 'parameter')

引数

namespaceは、データベース内の任意の名前付きコンテキストにすることができます。USERENVは、現在のセッションを説明する組込みコンテキストです。

parameternamespaceの定義済属性です。表3-3で、値を持つ可能性が最も高いUSERENVの事前定義済属性について説明します。完全なリストについては、『Oracle Database SQL言語リファレンス』SYS_CONTEXTに関する項を参照してください。

表3-3 USERENV属性

USERENV属性 説明

AUTHENTICATED_IDENTITY

データベース・ユーザー名、スキーマ名、オペレーティング・システム・ログイン名など、認証に使用される識別情報。

AUTHENTICATION_METHOD

PASSWORDOSSSLなどの認証方法。

CURRENT_EDITION_ID

100などのセッション・エディション識別子。

CURRENT_EDITION_NAME

ORA$BASEなどのセッション・エディション名。

CURRENT_SCHEMA

SHなど、現在アクティブなデフォルト・スキーマの名前。

CURRENT_SCHEMA_ID

80など、現在アクティブなデフォルト・スキーマの数値識別子。

CURRENT_USER

SHなど、権限が現在アクティブになっているデータベース・ユーザーの名前。

CURRENT_USERID

80など、権限が現在アクティブになっているデータベース・ユーザーの数値識別子。

DATABASE_ROLE

データベースのData Guardロール(PRIMARYPHYSICAL STANDBYLOGICAL STANDBYまたはSNAPSHOT STANDBY)。

DB_DOMAIN

us.example.comなど、DB_DOMAIN初期化パラメータで指定されたデータベースのネットワーク・ドメイン。

DB_NAME

DB_NAME初期化パラメータで指定されたデータベースの名前。

DB_UNIQUE_NAME

DB_UNIQUE_NAME初期化パラメータで指定された、ドメイン内のデータベースの一意名。

ENTERPRISE_IDENTITY

ユーザーの企業全体での識別子(ローカル・ユーザーの場合はNULL)、SYSDBAおよびSYSOPER。

FG_JOB_ID

現在のセッションがクライアントのフォアグラウンド・プロセスで開かれた場合は、そのセッションのジョブ識別子。それ以外の場合はNULL

GLOBAL_CONTEXT_MEMORY

グローバルにアクセスされるコンテキストによってシステム・グローバル領域で使用される数値。

GLOBAL_UID

Oracle Internet Directory for Enterprise User Securityログインのグローバル・ユーザーID、またはNULL

HOST

クライアント・ホスト・コンピュータの名前。

IDENTIFICATION_TYPE

データベースでユーザー・スキーマが作成された方法(LOCALEXTERNALGLOBAL SHAREDまたはGLOBAL PRIVATE)。

INSTANCE

1など、現在のインスタンスの識別番号。

INSTANCE_NAME

データベース・インスタンスの名前。

IP_ADDRESS

10.255.255.255など、クライアントのIPアドレス。

ISDBA

ユーザーがDBA権限で認証された場合はTRUE、それ以外の場合はFALSE

LANG

AMERICANを表すUSなど、セッション言語の短縮名。

LANGUAGE

AMERICA_AMERICAN.WE8DECなど、language_territory.charactersetの形式の言語、地域およびデータベース・キャラクタ・セット。

MODULE

JDBC Thin ClientSQL Developerなど、DBMS_APPLICATION_INFOパッケージまたはOCIを通じて設定されたアプリケーション名。

NETWORK_PROTOCOL

TCPなど、通信に使用されるネットワーク・プロトコル。

NLS_CALENDAR

GREGORIANなどのセッション・カレンダ。

NLS_CURRENCY

$などのセッション通貨マーク。

NLS_DATE_FORMAT

DD-MON-RRなどのセッション日付形式。

NLS_DATE_LANGUAGE

AMERICANなどのセッション日付言語。

NLS_SORT

BINARY、またはXSPANISHなどの言語ソート基準。

NLS_TERRITORY

AMERICAなどのセッション地域。

OS_USER

データベース・セッションを開始したクライアント・プロセスのオペレーティングシステム・ユーザー名。

SERVER_HOST

データベース・インスタンスが実行しているコンピュータのホスト名。

SERVICE_NAME

SYS$USERSなど、セッションが接続しているサービスの名前。

SESSION_USER

SHなど、ログイン時にユーザーの識別に使用したデータベース・ユーザー名またはスキーマ名。

SESSIONID

120456などのセッション識別子。

SID

86などのセッション番号。


SYS_CONTEXT('USERENV','NLS_DATE_FORMAT')は、DD-MON-RRのような値を返します。

SYSDATE

SYSDATEは、データベースがあるオペレーティング・システムの現在の日付と時刻を返します。値のフォーマットは、NLS_DATE_FORMAT初期化パラメータによって異なります。

戻り値

DATE

構文

SYSDATE

SYSDATEは、NLS_DATE_FORMATDD-MON-RRに設定された13-AUG-06のような値を返します。

TO_CHAR(SYSDATE, 'MM-DD-YYYY HH24:MI:SS')は、08-13-2006 17:20:47のような値を返します。TO_CHARのコールで指定する日付フォーマットによって、日付と時刻の両方が表示されます。

SYSTIMESTAMP

SYSTIMESTAMPは、データベースが存在するシステムの、秒の小数部とタイムゾーンを含む日付を戻します。

戻り値

TIMESTAMP WITH TIME ZONE

構文

SYSTIMESTAMP

SYSTIMESTAMPは、次のような値を返します。

13-AUG-06 05.28.10.385799 PM -08:00

TAN

TANは、角度の正接を返します。

戻り値

NUMBER

構文

TAN(n)

引数

n: 角度(ラジアン単位)を表す数値式です。

TAN(135 * 3.1415927/180)は、角度135度の正接を値-0.99999993と計算します。この式では度数がラジアンに変換されます。

TANH

TANHは、双曲角度の正接を返します。

戻り値

NUMBER

構文

TANH(n)

引数

n: 双曲角度を表す数値式です。

TANH(.5)は、値0.462117157を返します。

TO_BINARY_DOUBLE

TO_BINARY_DOUBLEは、テキストまたは数値式を倍精度浮動小数点数に変換します。

戻り値

BINARY_DOUBLE

構文

TO_BINARY_DOUBLE (expr [, fmt [, 'nlsparam' ] ])

引数

n: 任意のテキストまたは数値式です。

fmtは数値フォーマット・モデルを指定するテキスト式です。Oracle Database SQLリファレンスを参照してください。

nlsparam: 次の数値フォーマット要素で使用される文字を指定します。

  • 小数点文字

  • グループ・セパレータ

  • 各国通貨記号

  • 国際通貨記号

この引数のフォーマットを次に示します。

'NLS_NUMERIC_CHARACTERS = ''dg''
 NLS_CURRENCY = ''text''
 NLS_ISO_CURRENCY = territory '

dは小数点文字、gはグループ・セパレータです。これらは、異なるシングルバイト文字である必要があります。引用した文字列内では、2つの一重引用符でパラメータ値を囲んでください。通貨記号には10文字使用できます。

この引数またはNLSパラメータのいずれかを省略すると、この関数はexprを解釈するためにセッションのデフォルト値を使用します。

このすべての例で値1.235E+003が返されます。

TO_BINARY_DOUBLE(1234.56)

TO_BINARY_DOUBLE('$1,234.56', '$9,999.99')

TO_BINARY_DOUBLE('1.234,56', '9G999D99', 'NLS_NUMERIC_CHARACTERS='',.''')

TO_BINARY_FLOAT

TO_BINARY_FLOATは、テキストまたは数値式を単精度浮動小数点数に変換します。

戻り値

BINARY_FLOAT

構文

TO_BINARY_FLOAT (expr [, fmt [, 'nlsparam' ] ])

引数

n: 任意のテキストまたは数値式です。

fmtは数値フォーマット・モデルを指定するテキスト式です。Oracle Database SQLリファレンスを参照してください。

nlsparam: 次の数値フォーマット要素で使用される文字を指定します。

  • 小数点文字

  • グループ・セパレータ

  • 各国通貨記号

  • 国際通貨記号

この引数のフォーマットを次に示します。

'NLS_NUMERIC_CHARACTERS = ''dg''
 NLS_CURRENCY = ''text''
 NLS_ISO_CURRENCY = territory '

dは小数点文字、gはグループ・セパレータです。これらは、異なるシングルバイト文字である必要があります。引用した文字列内では、2つの一重引用符でパラメータ値を囲んでください。通貨記号には10文字使用できます。

この引数またはNLSパラメータのいずれかを省略すると、この関数はexprを解釈するためにセッションのデフォルト値を使用します。

このすべての例で値1.235E+003が返されます。

TO_BINARY_FLOAT(1234.56)

TO_BINARY_FLOAT('$1,234.56', '$9,999.99')

TO_BINARY_FLOAT('1.234,56', '9G999D99', 'NLS_NUMERIC_CHARACTERS='',.''')

TO_CHAR (文字)

TO_CHAR (文字)は、テキスト式をデータベース・キャラクタ・セットに変換します。

戻り値

VARCHAR2

構文

TO_CHAR(exp)

引数

char: テキスト式です。データベース・キャラクタ・セットで表せない文字を含む場合、変換結果ではデータが失われます。

TO_CHAR('¡Una qué sorpresa!')は、値?Una qu? sorpresa!を返します。2つの文字(¡é)は、データベース文字セットにないため変換で失われます。

TO_CHAR('David Ortiz')は、データベース・キャラクタ・セットの値David Ortizを返します。すべての文字がデータベース・キャラクタ・セットにあるため、この変換では文字が失われません。

TO_CHAR (日時)

TO_CHAR (日時)は、日時式または期間式を、指定したフォーマットのテキスト文字列に変換します。

戻り値

VARCHAR2

構文

TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])

引数

datetime: テキストに変換する日時式です。

interval: テキストに変換する期間式です。

fmtcharのフォーマットを指定するdatetimeモデル・フォーマットです。デフォルトの日付フォーマットは、NLS_TERRITORY初期化パラメータによって暗黙的に決まります。NLS_DATE_FORMATパラメータを使用して明示的に設定することもできます。データ型フォーマットの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

nlsparam: 月と日の名前や略称を返すときに使用する言語を指定します。この引数は次のような形式で指定できます。

'NLS_DATE_LANGUAGE = language' 

デフォルトでは、戻り値はセッションの日付言語になります。

TO_CHAR(SYSDATE)は、11-APR-08のような値を返します。

TO_CHAR(SYSDATE, 'Day: MONTH DD, YYYY')は、Friday : APRIL 11, 2008のような値を返します。

TO_CHAR(SYSDATE, 'Day: MONTH DD, YYYY', 'NLS_DATE_LANGUAGE = Spanish')は、Viernes : ABRIL 11, 2008のような値を返します。

TO_CHAR (数値)

TO_CHAR (数値)は、数値式をデータベース・キャラクタ・セットのテキスト値に変換します。

戻り値

VARCHAR2

構文

TO_CHAR(n [, fmt [, 'nlsparam' ] ])

引数

n: 変換する数値式です。

fmtは数値フォーマット・モデルを指定するテキスト式です。Oracle Database SQLリファレンスを参照してください。

nlsparam: 返される文字のフォーマットを指定します。次の数値フォーマット要素を使用します。

  • 小数点文字

  • グループ・セパレータ

  • 各国通貨記号

  • 国際通貨記号

この引数のフォーマットを次に示します。

'NLS_NUMERIC_CHARACTERS = ''dg''
 NLS_CURRENCY = ''text''
 NLS_ISO_CURRENCY = territory '

文字dは小数点文字、gは、グループ・セパレータを表します。これらは、異なるシングルバイト文字である必要があります。引用した文字列内では、2つの一重引用符でパラメータ値を囲んでください。通貨記号には10文字使用できます。

この引数またはNLSパラメータのいずれかを省略すると、この関数はセッションのデフォルト値を使用します。

TO_CHAR(1234567, 'C9G999G999D99')は、USD1,234,567.00のようなテキスト文字列を返します。

TO_CHAR(1234567, 'C9G999G999D99', 'NLS_ISO_CURRENCY = SPAIN')は、テキスト文字列EUR1,234,567.00を返します。

TO_DATE

TO_DATEは、テキスト式をDATEデータ型に変換します。

戻り値

DATE

構文

TO_DATE(char [, fmt [, 'nlsparam' ] ])

引数

char: 日付を表すテキスト式です。

fmtcharのフォーマットを指定するdatetimeモデル・フォーマットです。デフォルトの日付フォーマットは、NLS_TERRITORY初期化パラメータによって暗黙的に決まります。NLS_DATE_FORMATパラメータを使用して明示的に設定することもできます。データ型フォーマットの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

nlsparam: charの言語を指定します。この引数は次のような形式で指定できます。

'NLS_DATE_LANGUAGE = language' 

デフォルトでは、charはセッション日付言語になります。

TO_DATE('October 13, 2008', 'MONTH DD, YYYY')は、値13-OCT-08を返します。

TO_DATE('13 Octubre 2008', 'dd month yyyy', 'NLS_DATE_LANGUAGE=SPANISH')も値13-OCT-08を返します。

TO_DSINTERVAL

TO_DSINTERVALは、テキスト式をINTERVAL DAY TO SECONDデータ型に変換します。

戻り値

INTERVAL DAY TO SECOND

構文

TO_DSINTERVAL(char)

引数

char: 変換するテキスト式です。

TO_DSINTERVAL('360 12:45:49')は、値+360 12:45:49.000000を返します。

TO_NCHAR (文字)

TO_NCHAR (文字)は、文字列を各国語キャラクタ・セットに変換します。

戻り値

NVARCHAR2

構文

TO_NCHAR(exp)

引数

exp: テキスト式です。各国語キャラクタ・セットで表せない文字を含む場合、変換結果ではデータが失われます。

TO_NCHAR( 'David Ortiz')は、各国語キャラクタ・セットでDavid Ortizの値を返します。

TO_NCHAR (日時)

TO_NCHAR (日時)は、日時または間隔の値を各国語キャラクタ・セットに変換します。

戻り値

NVARCHAR2

構文

TO_NCHAR({ datetime | interval }
         [, fmt [, 'nlsparam' ] ]
        )

引数

datetime: テキストに変換する日時式です。

interval: テキストに変換する期間式です。

fmtcharのフォーマットを指定するdatetimeモデル・フォーマットです。デフォルトの日付フォーマットは、NLS_TERRITORY初期化パラメータによって暗黙的に決まります。NLS_DATE_FORMATパラメータを使用して明示的に設定することもできます。データ型フォーマットの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

nlsparam: 月と日の名前や略称を返すときに使用する言語を指定します。この引数は次のような形式で指定できます。

'NLS_DATE_LANGUAGE = language' 

デフォルトでは、戻り値はセッションの日付言語になります。

TO_NCHAR(SYSDATE)は、11-APR-08のような値を返します。

TO_NCHAR(SYSDATE, 'Day: MONTH DD, YYYY')は、Friday : APRIL 11, 2008のような値を返します。

TO_NCHAR(SYSDATE, 'Day: MONTH DD, YYYY', 'NLS_DATE_LANGUAGE = Spanish')は、Viernes : ABRIL 11, 2008のような値を返します。

TO_NCHAR (数値)

TO_NCHAR (数値)は、数値を各国語キャラクタ・セットに変換します。

戻り値

NVARCHAR2

構文

TO_CHAR(n [, fmt [, 'nlsparam' ] ])

引数

n: 変換する数値式です。

fmtは数値フォーマット・モデルを指定するテキスト式です。Oracle Database SQLリファレンスを参照してください。

nlsparam: 返される文字のフォーマットを指定するテキスト式です。次の数値フォーマット要素を使用します。

  • 小数点文字

  • グループ・セパレータ

  • 各国通貨記号

  • 国際通貨記号

この引数のフォーマットを次に示します。

'NLS_NUMERIC_CHARACTERS = ''dg''
   NLS_CURRENCY = ''text''
   NLS_ISO_CURRENCY = territory '

文字dは小数点文字、gは、グループ・セパレータを表します。これらは、異なるシングルバイト文字である必要があります。引用した文字列内では、2つの一重引用符でパラメータ値を囲んでください。通貨記号には10文字使用できます。

この引数またはNLSパラメータのいずれかを省略すると、この関数はセッションのデフォルト値を使用します。

TO_NCHAR(1234567, 'C9G999G999D99')は、USD1,234,567.00のようなテキスト文字列を返します。

TO_NCHAR(1234567, 'C9G999G999D99', 'NLS_ISO_CURRENCY = SPAIN')は、テキスト文字列EUR1,234,567.00を返します。

TO_NUMBER

TO_NUMBERは、数字を含むテキスト式をNUMBERデータ型の値に変換します。

戻り値

NUMBER

構文

TO_NUMBER(expr [, fmt [, 'nlsparam' ] ])

引数

expr: 数値に変換する式です。

fmtは数値フォーマット・モデルを指定するテキスト式です。Oracle Database SQLリファレンスを参照してください。

nlsparam: 次の数値フォーマット要素で使用される文字を指定します。

  • 小数点文字

  • グループ・セパレータ

  • 各国通貨記号

  • 国際通貨記号

この引数のフォーマットを次に示します。

'NLS_NUMERIC_CHARACTERS = ''dg''
 NLS_CURRENCY = ''text''
 NLS_ISO_CURRENCY = territory '

dは小数点文字、gはグループ・セパレータです。これらは、異なるシングルバイト文字である必要があります。引用した文字列内では、2つの一重引用符でパラメータ値を囲んでください。通貨記号には10文字使用できます。

この引数またはNLSパラメータのいずれかを省略すると、この関数はexprを解釈するためにセッションのデフォルト値を使用します。

TO_NUMBER('$1,234,567.89', 'L999G999G999D99')は、値1234567.89を返します。

TO_NUMBER('EUR1,234,567.89', 'C999G999G999D99', 'NLS_ISO_CURRENCY=SPAIN')も、値1234567.89を返します。

TO_TIMESTAMP

TO_TIMESTAMPは、テキスト式をTIMESTAMPの値に変換します。

戻り値

TIMESTAMP

構文

TO_TIMESTAMP(char [, fmt [ 'nlsparam' ] ])

引数

char: 変換するテキスト式です。

fmtcharのフォーマットを指定するdatetimeモデル・フォーマットです。デフォルトの日付フォーマットは、NLS_TERRITORY初期化パラメータによって暗黙的に決まります。NLS_DATE_FORMATパラメータを使用して明示的に設定することもできます。データ型フォーマットの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

nlsparam: 月と日の名前やcharで与えられた略称に使用される言語を指定します。引数の形式は次のとおりです。

'NLS_DATE_LANGUAGE = language' 

デフォルトでは、charはセッション日付言語になります。

TO_TIMESTAMP('10-SEP-0614:10:10.123000','DD-MON-RRHH24:MI:SS.FF')は、値10-SEP-06 02.10.10.123000 PMを返します。

TO_TIMESTAMP('10-AGOSTO-0714:10:10', 'DD-MON-RRHH24:MI:SS.FF', 'NLS_DATE_LANGUAGE=SPANISH')は、値10-AUG-07 02.10.10.000000 PMを返します。

TO_TIMESTAMP_TZ

TO_TIMESTAMP_TZは、テキスト式をTIMESTAMP WITH TIME ZONEデータ型の値に変換します。

戻り値

TIMESTAMP WITH TIME ZONE

構文

TO_TIMESTAMP_TZ(char [, fmt [ 'nlsparam' ] ])

引数

char: 変換するテキスト式です。

fmtcharのフォーマットを指定するdatetimeモデル・フォーマットです。デフォルトの日付フォーマットは、NLS_TERRITORY初期化パラメータによって暗黙的に決まります。NLS_DATE_FORMATパラメータを使用して明示的に設定することもできます。データ型フォーマットの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

nlsparam: 月と日の名前やcharで与えられた略称に使用される言語を指定します。引数の形式は次のとおりです。

'NLS_DATE_LANGUAGE = language' 

デフォルトでは、charはセッション日付言語になります。

TO_TIMESTAMP_TZ('2006-03-26 7:33:00 -4:00', 'YYYY-MM-DD HH:MI:SS TZH:TZM')は、値26-MAR-06 07.33.00.000000 AM -04:00を返します。

TO_TIMESTAMP_TZ('2006-AGOSTO-13 7:33:00 -4:00', 'YYYY-MONTH-DD HH:MI:SS TZH:TZM', 'NLS_DATE_LANGUAGE=SPANISH')は、値13-AUG-06 07.33.00.000000 AM -04:00を返します。

TO_YMINTERVAL

TO_YMINTERVALは、テキスト式をINTERVAL YEAR TO MONTHデータ型に変換します。関数は、次の2つの形式のいずれかの引数を受け入れます。

  • SQL規格(ISO/IEC 9075:2003)に準拠したSQL期間書式(ISO/IEC 9075:2003)

  • ISO 8601:2004規格に準拠したISO存続期間書式

戻り値

INTERVAL YEAR TO MONTH

構文

TO_YMINTERVAL  ( ' { sql_format | ym_iso_format } ' )

sql_format::=
[+|-] years - months

ym_iso_format::=
[-] P  [ years Y  ] [months M ] [days D ] [ T  [hours H ] [minutes M ] [seconds [. frac_secs] S  ] ]

引数

SQL形式:

yearsは0から999999999までの整数です。

monthsは0から11までの整数です。

これ以外に、書式要素の間に空白を使用できます。

ISO形式:

yearsmonthsは、0から999999999までの整数です。

dayshoursminutessecondsおよびfrac_secsは負以外の整数であり、無視されます。

値には空白を使用できません。

TO_YMINTERVAL('1-6')およびTO_YMINTERVAL('P1Y6M')は、1年と6か月を意味する値+01-06を返します。

SYSDATE + TO_YMINTERVAL('1-6')は、現在の日付に1年6か月を加算します。SYSDATE15-APR-08の場合、値は15-OCT-09です。

SYSDATE + TO_YMINTERVAL('P1Y6M')は、ISO形式を使用して現在の日付に1年6か月を加算します。SYSDATE15-APR-08の場合、値は15-OCT-09です。

SYSDATE + TO_YMINTERVAL('-1-2')は、現在の日付から1年2か月を減算します。SYSDATE15-APR-08の場合、値は15-FEB-07です。

TRANSLATE

TRANSLATEは、1回の操作で複数の文字を1対1で置き換えることができます。この式は、最初の文字列の各文字のすべての出現箇所を、2番目の文字列の対応する文字で置換した式を返します。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

TRANSLATE(expr, from_string, to_string)

引数

expr: 変更するテキスト式です。

from_string: expr内で置換する1つ以上の文字を指定します。

to_stringにはfrom_stringの対応する文字を置換する1つ以上の文字を指定します。この文字列はfrom_stringよりも少ない文字数で指定できますが、その場合、対応のない文字はNULLで置換されます。ただし、to_stringを空にすることはできません。

TRANSLATE('disk', 'dk', 'Dc')は、値Discを返します。

TRANSLATE (USING)

TRANSLATEは、データベース・キャラクタ・セットと各国語キャラクタ・セット間でテキスト文字列を変換します。

注意: TRANSLATE USING関数は、主にANSIとの互換性を保つためにサポートされています。データをデータベースまたは各国語キャラクタ・セットに変換するには、TO_CHARおよびTO_NCHAR関数を使用することをお薦めします。TO_CHARおよびTO_NCHARは、文字データのみ受け入れるTRANSLATE USINGよりも多様なデータ型を引数として受け取ることができます。

戻り値

VARCHAR2 | NVARCHAR2

構文

TRANSLATE (char USING { CHAR_CS | NCHAR_CS } )

引数

char: データベース・キャラクタ・セット(USING CHAR_CS)または各国語キャラクタ・セット(USING NCHAR_CS)に変換するテキスト式です。

TRANSLATE('north by northwest' USING NCHAR_CS)は、各国語キャラクタ・セットの値north by northwestを返します。

TRIM

TRIMは、文字列の先頭または末尾(あるいは両方)から文字を削除します。

戻り値

VARCHAR2

構文

TRIM([ { { LEADING | TRAILING | BOTH }[ trim_character ]  
       | trim_character
       }
       FROM 
     ]
     trim_source
    )

引数

LEADING: 文字列の先頭から一致する文字を削除します。

TRAILING: 文字列の末尾から一致する文字を削除します。

BOTH: 文字列の先頭と末尾から一致する文字を削除します。(デフォルト)

trim_character: 削除する1文字です。デフォルトでは空白です。

trim_source: 文字を削除するテキスト式です。

TRIM('0' FROM '00026501.6703000')は、値26501.6703を返します。

TRIM(LEADING '!' FROM '!!Help! Help!!')は値Help! Help!!を返します。

TRUNC (数値)

TRUNCは、数値式の小数点以下を指定した桁数に切り捨てます。

戻り値

NUMBER

構文

TRUNC(n1 [, n2 ])

引数

n1: 切捨てを行う数値式です。

n2: 小数点以下の桁数です。正の数を指定すると、小数点の右側の桁が切り捨てられ、負の数を指定すると小数点の左側の桁が切り捨てられます。デフォルトは0です。

TRUNC(15.79)は、値15を返します。

TRUNC(15.79, 1)は、値15.7を返します。

TRUNC(15.79, -1)は、値10を返します。

TZ_OFFSET

TZ_OFFSETは、標準世界時(UTC)に対するタイムゾーン・オフセットを返します。

戻り値

VARCHAR2

構文

TZ_OFFSET({ 'time_zone_name' | '{ + | - } hh:mi'
          | SESSIONTIMEZONE | DBTMEZONE
          }
         )

引数

time_zone_name: タイムゾーンの名前です。

hh:mm: 時刻と分です。この引数に対しては、自身の値が返されます。

SESSIONTIMEZONE: セッション・タイムゾーンを返します。

DBTIMEZONE: データベース・タイムゾーンを返します。

TZ_OFFSET('US/Eastern')は、夏時間の場合はオフセット-04:00を返します。

TZ_OFFSET('EST')は、オフセット-05:00を返します。

TZ_OFFSET(DBTIMEZONE)は、山岳部標準時の場合はオフセット-07:00を返します。

UID

UIDは、セッション・ユーザー(ログオンしているユーザー)の一意識別子(UID)を返します。

戻り値

INTEGER

構文

UID

UIDは、76のような値を返します。

UNISTR

UNISTRは、テキスト文字列を各国語キャラクタ・セットに変換します。

戻り値

NVARCHAR2

構文

UNISTR ( string )

引数

string: 任意のテキスト式を指定できます。移植性を高めるために、ASCII文字とUnicodeエンコード値のみをテキスト・リテラルとして使用することをお薦めします。Unicodeエンコード値の形式は\xxxxで、xxxxは文字の16進値です。補足文字は2つのコード・ユニットとしてエンコードされ、最初のコード・ユニットは上位サロゲート範囲(U+D800からU+DBFF)から、2番目のコード・ユニットは下位サロゲート範囲(U+DC00からU+DFFF)から取得されます。文字列にリテラルのバックスラッシュを含めるには、前にもう1つのバックスラッシュを付けます(\\)。

UNISTR('abc\00e5\00f1\00f6')は、値abcåñöを返します。

UPPER

UPPERは、テキスト表現のすべてのアルファベット文字を大文字に変換します。戻り値のデータ型は元のテキストと同じです。

戻り値

CHAR | NCHAR | VARCHAR2 | NVARCHAR2

構文

UPPER(char)

引数

char: 任意のテキスト式です。

UPPER('This is an emergency')は、文字列THIS IS AN EMERGENCYを返します。

USER

USERは、セッション・ユーザー(ログオンしているユーザー)の名前を返します。

戻り値

VARCHAR2

構文

USER

USERは、GLOBALのような値を返します。

VSIZE

VSIZEは、式の内部表現のバイト数を返します。NULL式の場合はNULLを返します。

戻り値

NUMBER

構文

VSIZE (expr)

引数

expr: 任意のデータ型の式です。

VSIZE('Sound of thunder')は値16を返します。

VSIZE(CHANNEL.LONG_DESCRIPTION)は次の値を返します。

チャネル VSIZE
カタログ 7
直接販売 12
インターネット 8

WIDTH_BUCKET

WIDTH_BUCKETを使用すると、均等なサイズの間隔に分割されたヒストグラム範囲を作成できます。この関数は、式の値が含まれるバケット番号を返します。

必要であれば、WIDTH_BUCKETは、番号0のアンダーフロー・バケットと、番号num_buckets+1のオーバーフロー・バケットを作成します。このようなバケットは指定範囲外の値を処理し、端点の合理性をチェックするときに役立ちます。

戻り値

NUMBER

構文

WIDTH_BUCKET
   (expr, min_value, max_value, num_buckets)

引数

exprはヒストグラムを作成する式です。この式は、数値またはdatetime値、あるいは任意の値になるように評価される必要があります。exprがNULLと評価されると、関数はNULLを返します。

min_valueおよびmax_valueexprで受入れ可能な範囲の端点を表す式です。これらの式は両方とも、数値またはdatetime値になるように評価される必要があります。いずれもNULLに評価されることはできません。

num_bucketsはバケット数を表す式です。この式は、正の整数に評価される必要があります。

WIDTH_BUCKET(13, 0, 20, 4)は、値3を返します。0から20までの範囲に4つのバケットを作成し、13をバケット3に含めます。

WIDTH_BUCKET(-5, 0, 20, 4)は、値0を返します。値-5は範囲開始を下回る値です。