3 行関数
OLAP行関数はディメンション・オブジェクトで使用されるためにSQL行関数の構文を拡張します。SQL行関数を使用するならば、この構文に見覚えがあるはずです。これらの関数は、キューブおよびキューブ・ディメンションへのロード時にリレーショナル・データで、および計算されたメジャーの作成時にOLAP関数と共に使用できます。
この章ではOLAPの行関数の式構文について説明します。この項の内容は、次のとおりです。
- 行関数(アルファベット順)
- 行関数(カテゴリ別)
- ABS
- ACOS
- ADD_MONTHS
- ASCII
- ASCIISTR
- ASIN
- ATAN
- ATAN2
- BIN_TO_NUM
- BITAND
- CAST
- CEIL
- CHARTOROWID
- CHR
- COALESCE
- CONCAT
- COS
- COSH
- CURRENT_DATE
- CURRENT_TIMESTAMP
- DBTIMEZONE
- DECODE
- EXP
- EXTRACT (日時)
- FLOOR
- FROM_TZ
- GREATEST
- HEXTORAW
- INITCAP
- INSTR
- LAST_DAY
- LEAST
- LENGTH
- LN
- LNNVL
- LOCALTIMESTAMP
- LOG
- LOWER
- LPAD
- LTRIM
- MOD
- MONTHS_BETWEEN
- NANVL
- NEW_TIME
- NEXT_DAY
- NLS_CHARSET_ID
- NLS_CHARSET_NAME
- NLS_INITCAP
- NLS_LOWER
- NLS_UPPER
- NLSSORT
- NULLIF
- NUMTODSINTERVAL
- NUMTOYMINTERVAL
- NVL
- NVL2
- ORA_HASH
- POWER
- RAWTOHEX
- REGEXP_COUNT
- REGEXP_REPLACE
- REGEXP_INSTR
- REGEXP_SUBSTR
- REMAINDER
- REPLACE
- ROUND (日付)
- ROUND (数値)
- ROWIDTOCHAR
- ROWIDTONCHAR
- RPAD
- RTRIM
- SESSIONTIMEZONE
- SIGN
- SIN
- SINH
- SOUNDEX
- SQRT
- SUBSTR
- SYS_CONTEXT
- SYSDATE
- SYSTIMESTAMP
- TAN
- TANH
- TO_BINARY_DOUBLE
- TO_BINARY_FLOAT
- TO_CHAR (文字)
- TO_CHAR (日時)
- TO_CHAR (数値)
- TO_DATE
- TO_DSINTERVAL
- TO_NCHAR (文字)
- TO_NCHAR (日時)
- TO_NCHAR (数値)
- TO_NUMBER
- TO_TIMESTAMP
- TO_TIMESTAMP_TZ
- TO_YMINTERVAL
- TRANSLATE
- TRANSLATE (USING)
- TRIM
- TRUNC (数値)
- TZ_OFFSET
- UID
- UNISTR
- UPPER
- USER
- VSIZE
- WIDTH_BUCKET
3.1 行関数(アルファベット順)
A B C D E F G H I L M N O P R S T U V W
A
B
C
D
E
F
G
H
I
L
M
N
- NANVL
- NEW_TIME
- NEXT_DAY
- NLS_CHARSET_ID
- NLS_CHARSET_NAME
- NLS_INITCAP
- NLS_LOWER
- NLS_UPPER
- NLSSORT
- NULLIF
- NUMTODSINTERVAL
- NUMTOYMINTERVAL
- NVL
- NVL2
O
P
R
- RAWTOHEX
- REGEXP_COUNT
- REGEXP_INSTR
- REGEXP_REPLACE
- REGEXP_SUBSTR
- REMAINDER
- REPLACE
- ROUND (日付)
- ROUND (数値)
- ROWIDTOCHAR
- ROWIDTONCHAR
- RPAD
- RTRIM
S
T
- TAN
- TANH
- TO_BINARY_DOUBLE
- TO_BINARY_FLOAT
- TO_CHAR (文字)
- TO_CHAR (日時)
- TO_CHAR (数値)
- TO_DATE
- TO_DSINTERVAL
- TO_NCHAR (文字)
- TO_NCHAR (日時)
- TO_NCHAR (数値)
- TO_NUMBER
- TO_TIMESTAMP
- TO_TIMESTAMP_TZ
- TO_YMINTERVAL
- TRANSLATE
- TRANSLATE (USING)
- TRIM
- TRUNC (数値)
- TZ_OFFSET
U
V
W
親トピック: 行関数
3.2 行関数(カテゴリ別)
行関数は次のカテゴリに分けられます。
親トピック: 行関数
3.2.7 変換関数
これらの関数は、あるデータ型から別のデータ型に値を変更します。
- ASCIISTR
- BIN_TO_NUM
- CAST
- CHARTOROWID
- HEXTORAW
- NUMTODSINTERVAL
- NUMTOYMINTERVAL
- RAWTOHEX
- ROWIDTOCHAR
- ROWIDTONCHAR
- TO_BINARY_DOUBLE
- TO_BINARY_FLOAT
- TO_CHAR (文字)
- TO_CHAR (日時)
- TO_CHAR (数値)
- TO_DATE
- TO_DSINTERVAL
- TO_NCHAR (文字)
- TO_NCHAR (日時)
- TO_NCHAR (数値)
- TO_NUMBER
- TO_TIMESTAMP
- TO_TIMESTAMP_TZ
- TO_YMINTERVAL
- TRANSLATE (USING)
- UNISTR
親トピック: 行関数(カテゴリ別)
3.4 ACOS
ACOS
は、指定した余弦の角度をラジアン単位で計算します。
戻り値
NUMBER
構文
ACOS(n)
引数
n
- 余弦を表す数値式です。範囲は-1から1です。
例
ACOS(.3)
は、値1.26610367
を返します。
親トピック: 行関数
3.5 ADD_MONTHS
ADD_MONTHS
は、指定の日付から指定した月数後の日付を返します。
開始日が月末の場合、または返される日付を含む月の日数が少ない場合は、ADD_MONTHS
はその月の最後の日を返します。それ以外の場合、返される日付は開始日です。
戻り値
DATE
構文
ADD_MONTHS(date, integer)
引数
date
: 開始日です。
integer
: 開始日に追加する月の数です。
例
ADD_MONTHS('17-JUN-06', 1)
は、値17-JUL-06
を返します。
親トピック: 行関数
3.6 ASCII
ASCII
は、式の最初の文字の10進表現を返します。
戻り値
NUMBER
構文
ASCII(char)
引数
char
: 任意のテキスト式です。
例
ASCII('Boston')
は、値66
(文字Bに相当するASCII表現)を返します。
親トピック: 行関数
3.7 ASCIISTR
ASCIISTR
は、任意の文字セットの文字列を、データベース文字セットのASCIIに変換します。ASCII以外の文字は、\
xxxxで表されます。xxxxはUTF-16コード・ユニットです。
戻り値
VARCHAR2
構文
ASCIISTR(char)
引数
char
: 任意の文字列です。
例
ASCIISTR('Skåne')
では、値Sk\00E5ne
が返されます。
親トピック: 行関数
3.8 ASIN
ASIN
は、指定した正弦の角度をラジアン単位で計算します。
戻り値
NUMBER
構文
ASIN(n)
引数
n
- 正弦の10進値を含む、-1から1までの範囲の数値式です。
例
ASIN(.3)
は、値0.304692654
を返します。
親トピック: 行関数
3.9 ATAN
ATAN
は、指定した正接の角度をラジアン単位で計算します。
ATAN2
を使用すると、所定の比率の逆正接を示す全範囲(0から2piまで)の数値を取得できます。
戻り値
NUMBER
構文
ATAN(n)
引数
n
: 正接の10進値を含む数値式です。
例
ATAN(.3)
は、値0.291456794
を返します。
親トピック: 行関数
3.10 ATAN2
ATAN2
は、所定の比率の逆正接を示す全範囲(0から2piまで)の数値を返します。この関数は、引数の正負に応じて-piからpiまでの値を返します。
ATAN
を使用すると、指定した正接(比率ではない)の角度がラジアン単位で計算されます。
戻り値
NUMBER
構文
ATAN2(n1, n2)
引数
n1
およびn2
は比率の構成要素を表す数値式です。
例
ATAN2(.3, .2)
は、値0.982793723
を返します。
親トピック: 行関数
3.11 BIN_TO_NUM
BIN_TO_NUM
は、ビット・ベクトルを同等の数値に変換します。
戻り値
NUMBER
構文
BIN_TO_NUM(expr [, expr ]... )
引数
expr
: ビット・ベクトルのビットの値に対応する、値が0または1の数値式です。
例
BIN_TO_NUM(1,0,1,0)
は、値10
を返します。
親トピック: 行関数
3.12 BITAND
BITAND
は、負ではない2つの整数を表すビットに対してAND
演算子の計算を行って、整数を返します。通常、この関数は、DECODE
関数と一緒に使用します。
AND
演算子は2つのビット値を比較します。両方の値が1の場合は1を返します。いずれかまたは両方の値が0の場合は0を返します。
戻り値
NUMBER
構文
BITAND(expr1, expr2)
引数
expr1
およびexpr2
は負でない整数を表す数値式です。
例
BITAND(7, 29)
は、値5
を返します。
7
のバイナリ値は111
で29
のバイナリ値は11101
です。これらを1ビットずつ比較することで、バイナリ値101
が生成され、これは10進値の5
に相当します。
親トピック: 行関数
3.13 CAST
CAST
は、あるデータ型の値を別のデータ型に変換します。
戻り値
type_name
で指定されるデータ型です。
構文
CAST(expr AS type_name)
引数
expr
は、いずれかのデータ型の式にすることができます。
type_name
は、表1-2にリストされているいずれかのデータ型です。
表3-1に、どのデータ型が、どの組込みデータ型にキャストできるかを示します。NUMBER
には、NUMBER
、DECIMAL
およびINTEGER
が含まれます。DATETIME
には、DATE
、TIMESTAMP
、TIMESTAMP WITH TIMEZONE
およびTIMESTAMP WITH LOCAL TIMEZONE
が含まれます。INTERVAL
には、INTERVAL DAY TO SECOND
とINTERVAL 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
を返します。
親トピック: 行関数
3.14 CEIL
CEIL
は、指定した数値以上の最小の自然数を返します。
戻り値
NUMBER
構文
CEIL(n)
引数
n
: 数値式です。
例
CEIL(3.1415927)
は、値4
を返します。
CEIL(-3.4)
は、値-3.00
を返します。
親トピック: 行関数
3.15 CHARTOROWID
CHARTOROWID
は、テキスト・データ型からROWID
データ型に値を変換します。
ROWID
疑似列の詳細は、Oracle Database SQL言語リファレンスを参照してください。
戻り値
ROWID
構文
CHARTOROWID(char)
引数
char
: 有効なrowidを形成するテキスト式です。
例
chartorowid('AAAN6EAALAAAAAMAAB')
は、rowidとしてテキスト文字列AAAN6EAALAAAAAMAAB
を返します。
親トピック: 行関数
3.16 CHR
CHR
は、整数を、データベース文字セットまたは各国語文字セットにおいて等価のバイナリ値を含む文字に変換します。
シングルバイト文字セットでは、n
> 256の場合に、CHR
はmod(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))
と等価です。
親トピック: 行関数
3.17 COALESCE
COALESCE
は、式のリストから最初のNULL以外の式を返すか、すべての式がNULLの場合はNULL
を返します。
戻り値
最初の引数のデータ型
構文
COALESCE(expr [, expr ]...)
引数
expr
: 任意の式です。
例
COALESCE(5, 8, 3)
は、値5
を返します。
COALESCE(NULL, 8, 3)
は、値8
を返します。
親トピック: 行関数
3.18 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
を返します。
親トピック: 行関数
3.19 COS
COS
は、角度の余弦を計算します。
戻り値
NUMBER
構文
COS(n)
引数
n
: 角度(ラジアン単位)を表す数値式です。
例
COS(180 * 3.1415927/180)
は、180度の余弦として値-1
を返します。この式では度数がラジアンに変換されます。
親トピック: 行関数
3.20 COSH
COSH
は、双曲角度の余弦を計算します。
戻り値
NUMBER
構文
COSH(n)
引数
n
: 双曲角度を表す数値式です。
例
COSH(0)
は、値1
を返します。
親トピック: 行関数
3.21 CURRENT_DATE
CURRENT_DATE
は、セッション・タイムゾーンでの現在の日付を返します。
戻り値
DATE
構文
CURRENT_DATE
例
CURRENT_DATE
は、12-AUG-08
のような値を返します。
親トピック: 行関数
3.22 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
のような値を返します。
親トピック: 行関数
3.23 DBTIMEZONE
DBTIMEZONE
は、データベースのタイムゾーンの値を、協定世界時(UTC)に対するタイムゾーン・オフセットまたはタイムゾーンの地域名として返します。
他のタイムゾーン・オフセットを取得するには、TZ_OFFSET
を使用します。
戻り値
VARCHAR2
構文
DBTIMEZONE
例
DBTIMEZONE
は、山岳部標準時の場合はオフセット-08:00
を返します。
親トピック: 行関数
3.24 DECODE
DECODE
は、1つの式を1つ以上の検索文字列と1つずつ比較します。
expr
がsearch
の場合、DECODE
は対応するresult
を返します。一致しない場合、DECODE
はdefault
を返します。default
を省略した場合、DECODE
はNULL
を返します。
戻り値
最初のresult
引数のデータ型
構文
DECODE(expr, search, result
[, search, result ]...
[, default ]
)
引数
expr
は1つ以上の検索文字列と比較される式です。
search
はexpr
と一致するかどうか調べられる文字列です。
result
はexpr
が対応する検索文字列と一致した場合の戻り値です。
default
はexpr
がどの検索文字列とも一致しない場合の戻り値です。default
を省略すると、DECODE
はNULL
を返します。
引数としてすべての数値型または文字型を指定できます。2つのnullは等価です。expr
がNULLの場合、DECODE
は、最初のsearch
(NULL)に対してresult
を返します。
expr
、searches
、results
および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!
親トピック: 行関数
3.25 EXP
EXP
は、e
のn
乗を返します(e
= 2.71828183)。このファンクションは、引数と同じ型の値を戻します。
戻り値
NUMBER
構文
EXP(n)
引数
n
: 指数を表す数値式です。
例
EXP(4)
は、値54.59815
を返します。
親トピック: 行関数
3.26 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
を返します。
親トピック: 行関数
3.27 FLOOR
FLOOR
は、指定した数値以下の最大の整数を返します。
戻り値
NUMBER
構文
FLOOR(n)
引数
n
: 任意の数値式です。
例
FLOOR(15.7)
は、値15
を返します。
FLOOR(-15.7)
は、値-16
を返します。
親トピック: 行関数
3.28 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
を返します。
親トピック: 行関数
3.29 GREATEST
GREATEST
は、式のリストから最大の式を返します。最初の式より後の式はすべて、比較の前に最初の式のデータ型に暗黙的に変換されます。テキスト式は文字ごとに比較されます。
式のリストから最小の式を取得するには、LEAST
を使用します。
戻り値
最初の式のデータ型
構文
GREATEST(expr [, expr ]...)
引数
expr
: 任意の式です。
例
GREATEST('Harry','Harriot','Harold')
は、値Harry
を返します。
GREATEST(7, 19, 3)
は、値19
を返します。
親トピック: 行関数
3.30 HEXTORAW
HEXTORAW
は、16進値をRAW値に変換します。
戻り値
RAW
構文
HEXTORAW (char)
引数
char
: CHAR
、VARCHAR2
、NCHAR
またはNVARCHAR2
データ型の16進値です。
例
HEXTORAW('7D')
は、RAW
値7D
を返します。
親トピック: 行関数
3.31 INITCAP
INITCAP
は、指定したテキスト式の各語の先頭を大文字、それ以外を小文字として返します。語は空白か英字以外の文字で区切ります。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
INITCAP(char)
引数
char
: 任意のテキスト式です。
例
INITCAP('top ten tunes')
とINITCAP('TOP TEN TUNES')
はどちらも文字列Top Ten Tunes
を返します。
親トピック: 行関数
3.32 INSTR
INSTR
関数は、string
でsubstring
を検索します。この関数は、string
内の文字の位置を示す整数を返します。一致する部分がない場合は、0を返します。
-
INSTR
は、入力文字セットで定義される文字を使用して文字列を計算します。 -
INSTRB
は、文字のかわりにバイトを使用します。 -
INSTRC
は、完全なUnicode文字を使用します。
REGEXP_INSTR
では追加のオプションを使用できます。
戻り値
NUMBER
構文
{ INSTR | INSTRB | INSTRC } (string , substring [, position [, occurrence ] ])
引数
string
は検索範囲のテキスト式です。
substring
は検索対象のテキスト文字列です。
position
はstring
内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、INSTR
は文字列の最後から逆方向に数えて検索します。デフォルト値の1では、関数が文字列の最初の文字から検索を開始します。
occurrence
は関数で検索する文字列の出現箇所を示す整数です。occurrenceの値は正数である必要があります。デフォルト値の1では、関数がsubstring
の最初の出現箇所を検索します。
例
INSTR('CORPORATE FLOOR','OR', 3, 2)
は、文字列CORPORATE FLOORの3番目の文字(R)から開始して、部分文字列ORの2番目の出現箇所を検索します。値14
が返されますが、これはFLOORの2番目のOの位置です。
親トピック: 行関数
3.33 LAST_DAY
LAST_DAY
は、特定の日付が含まれる月の最後の日付を返します。
戻り値
DATE
構文
LAST_DAY(date)
引数
date
: 任意の日時式です。
例
LAST_DAY('26-MAR-06')
は、値31-MAR-06
を返します。
親トピック: 行関数
3.34 LEAST
LEAST
は、式のリストから最小の式を返します。最初の式より後の式はすべて、比較の前に最初の式のデータ型に暗黙的に変換されます。テキスト式は文字ごとに比較されます。
式のリストから最大の式を取得するにはGREATEST
を使用します。
戻り値
最初の式のデータ型
構文
LEAST(expr [, expr ]...)
引数
expr
: 任意の式です。
例
LEAST('Harry','Harriot','Harold')
は、値Harold
を返します。
LEAST(19, 3, 7)
は、値3
を返します。
親トピック: 行関数
3.35 LENGTH
LENGTH
関数は、テキスト式の長さを返します。
-
LENGTH
は、文字数を数えます。 -
LENGTHB
は、文字のかわりにバイトを使用します。 -
LENGTHC
は、完全なUnicodeキャラクタを使用します。
戻り値
NUMBER
構文
{ LENGTH | LENGTHB | LENGTHC }(char)
引数
char
: 任意のテキスト式です。
例
LENGTH('CANDIDE')
は、値7
を返します。
親トピック: 行関数
3.36 LN
LN
は、0よりも大きな数の自然対数を返します。
戻り値
NUMBER
構文
LN(n)
引数
n
: 0よりも大きな値を含む任意の数値式です。
例
LN(95)
は、値4.55387689
を返します。
親トピック: 行関数
3.37 LNNVL
LNNVL
は、条件の1つまたは両方のオペランドがNULLの可能性がある場合に条件を評価します。LNNVL
は、スカラー式を指定できる場所で使用できます。IS [NOT] NULL
、AND
またはOR
条件が無効だが、潜在的なNULLに対応するために必要となるコンテキストでも、使用可能です。
ノート: この関数は、条件が偽または不明の場合に1
(true)を返し、条件が真の場合に0
(false)を返します。
戻り値
NUMBER
構文
LNNVL(condition)
引数
condition
: スカラー値を含む任意の式です。
例
LNNVL(1 > 4)
は1
(true)を返します。
親トピック: 行関数
3.38 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
のような値を返します。
親トピック: 行関数
3.39 LOG
LOG
は、式の対数を計算します。
戻り値
NUMBER
構文
LOG(n2, n1)
引数
n2
は対数の計算に使用する基数です。
n1
は対数を計算する値です。0より大きな任意の数値式です。この値が0以下の場合、LOG
はNULL値を返します。
例
LOG(10,100)
は、値2
を返します。
親トピック: 行関数
3.40 LOWER
LOWER
は、テキスト表現のすべてのアルファベット文字を小文字に変換します。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
LOWER(char)
引数
char
: 任意のテキスト式です。
例
LOWER('STOP SHOUTING')
は、文字列stop shouting
を返します。
親トピック: 行関数
3.41 LPAD
LPAD
は、指定された長さになるまで式の左に文字を追加します。戻り値のデータ型は元のテキストと同じです。
RPAD
を使用すると、右側に文字が追加されます。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
LPAD(expr1, n [, expr2 ])
引数
expr1
: ベース文字列を表すテキスト式です。
n
: 返される式の合計長です。expr1
がn
よりも長い場合、この関数はexpr1
をn
文字に切り捨てます。
expr2
: 埋め込む文字のテキスト式です。デフォルトでは空白です。
例
LPAD('Page 1',15,'*.')
は、値*.*.*.*.*Page 1
を返します。
LPAD('Stay tuned', 4)
は、値Stay
を返します。
親トピック: 行関数
3.42 LTRIM
LTRIM
は、テキスト式を左から右にスキャンして、trim式の文字と一致するすべての文字を削除します。一致しない文字が出現した時点で停止します。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
LTRIM(char [, set ])
引数
char
: 文字を削除するテキスト式です。
set
は削除する文字を含むテキスト式です。set
のデフォルト値は1つの空白です。
例
LTRIM(' . . . .Last Word', ' .')
は、値Last Word
を返します。
親トピック: 行関数
3.43 MOD
MOD
は、数値を割った余りを返します。除数が0の場合は、数値を返します。
戻り値
NUMBER
構文
MOD(n2, n1)
引数
n2
: 除算の対象の数値を表す数値式です。
n1
: 除数を表す数値式です。
例
MOD(13,7)
は、値6
を返します。
親トピック: 行関数
3.44 MONTHS_BETWEEN
MONTHS_BETWEEN
は、2つの日付の間の月数を計算します。2つの日付の日を示す構成要素が同じ場合、または両方の日付が月末の場合、戻り値は自然数です。この他の場合、戻り値に小数が含まれ、1か月を31日として日数の差が表されます。
戻り値
NUMBER
構文
MONTHS_BETWEEN(date1, date2)
引数
date1
およびdate2
: 日時式です。date1
がdate2
よりも後の日付の場合、結果は正になります。date1
がdate2
よりも前の日付の場合、結果は負になります。
例
MONTHS_BETWEEN('15-APR-06', '01-JAN-06')
は、値3.4516129
を返します。
親トピック: 行関数
3.45 NANVL
NANVL
は、値が数値かどうかを確認します。数値である場合、NANVL
はその値を返します。数値でない場合は、別の値を返します。この関数は、バイナリdoubleまたはバイナリfloatのNaN値(数値ではない値)をゼロまたはNULLに変換する際に使用します。
戻り値
datatype
構文
NANVL (expression, alternate)
引数
expression
: 任意の値です。
alternate
: expression
が数値ではない場合に返される数値です。
親トピック: 行関数
3.46 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_FORMAT
はDD-MON-RR HH:MI:SS
に設定されます。
親トピック: 行関数
3.47 NEXT_DAY
NEXT_DAY
は、指定した日付以降の、特定の曜日の最初の日付を返します。
戻り値
DATE
構文
NEXT_DAY(date, char)
引数
date
は日時式です。
char
はセッションの言語で曜日(月曜日など)を示すテキスト式です。
例
NEXT_DAY('11-SEP-01', 'Monday')
は、値17-SEP-01
を返します。
親トピック: 行関数
3.48 NLS_CHARSET_ID
NLS_CHARSET_ID
は、指定された文字セット名に対応する識別番号を返します。
戻り値
NUMBER
構文
NLS_CHARSET_ID ( charset_name )
引数
charset_name
: 有効な文字セット名であるVARCHAR2表現です。
例
NLS_CHARSET_ID('AL32UTF8')
は値873
を返します。
親トピック: 行関数
3.49 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
を返します。
親トピック: 行関数
3.50 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
を返します。
親トピック: 行関数
3.51 NLS_LOWER
NLS_LOWER
は、テキスト表現のすべてのアルファベット文字を小文字に変換します。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
NLS_LOWER (char [, 'nlsparam' ])
引数
char
: 任意のテキスト式です。
nlsparam
はNLS_SORT =
sort
[_ai |_ci]
という形式の言語ソート・シーケンスです。sort
はNLS言語です。言語に接尾辞を追加して、ソートを変更できます。_ai
の場合はアクセント記号を区別しないソート、_ci
の場合は大文字と小文字を区別しないソートです。
例
NLS_LOWER('STOP SHOUTING')
は、文字列stop shouting
を返します。
親トピック: 行関数
3.52 NLS_UPPER
NLS_UPPER
は、テキスト表現のすべてのアルファベット文字を大文字に変換します。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
NLS_UPPER (char [, 'nlsparam' ])
引数
char
: 任意のテキスト式です。
nlsparam
はNLS_SORT =
sort
[_ai |_ci]
という形式の言語ソート・シーケンスです。sort
はNLS言語です。言語に接尾辞を追加して、ソートを変更できます。_ai
の場合はアクセント記号を区別しないソート、_ci
の場合は大文字と小文字を区別しないソートです。
例
NLS_UPPER('This is an emergency')
は、文字列THIS IS AN EMERGENCY
を返します。
親トピック: 行関数
3.53 NLSSORT
NLSSORT
は、テキスト文字列のソートに使用されるバイト文字列を返します。このファンクションを使用すると、文字列のバイナリ値ではなく言語ソート順に基づいてソートや比較の操作を指定できます。
ノート: NLSSORT
は、別の関数に渡すことのできるRAW
値を返します。NLSSORT
から返される値のメジャーまたは計算済メジャーを作成するには、RAWTOHEX
関数を使用します。
言語ソートの詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。
戻り値
RAW
構文
NLSSORT(char [, 'nlsparam' ])
引数
char
: テキスト式です。
nlsparam
はNLS_SORT =
sort
[_ai |_ci]
という形式の言語ソート・シーケンスです。sort
はNLS言語です。言語に接尾辞を追加して、ソートを変更できます。_ai
の場合はアクセント記号を区別しないソート、_ci
の場合は大文字と小文字を区別しないソートです。
例
NLSSORT('Rumpelstiltskin')
は、デフォルトの言語ソート(この場合は米英語)のために値52756D70656C7374696C74736B696E00
を返します。
親トピック: 行関数
3.54 NULLIF
NULLIF
は、2つの式を比較します。式が等しい場合はNULL
を返し、等しくない場合は最初の式を返します。
戻り値
最初の引数のデータ型
構文
NULLIF(expr1, expr2)
引数
expr1
: 基準の式です。リテラルNULLは指定できません。
expr2
: 基準の式と比較する式です。
例
NULLIF('red', 'Red')
は、値red
を返します。
親トピック: 行関数
3.55 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を返します。
親トピック: 行関数
3.56 NUMTOYMINTERVAL
NUMTOYMINTERVAL
は、数値をINTERVAL YEAR TO MONTH
データ型に変換します。
戻り値
INTERVAL YEAR TO MONTH
構文
NUMTOYMINTERVAL(n, 'interval_unit')
引数
n
: 任意の数値式です。
interval_unit
は単位を指定するテキスト式です。次のいずれかの値に解決される必要があります。
-
YEAR
-
MONTH
これらの値では大文字と小文字は区別されません。
例
NUMTOYMINTERVAL(18, 'MONTH')
は、値+01-06
を返します。
親トピック: 行関数
3.57 NVL
NVL
は、NULLを文字列で置換します。NVL
は、基準の式がNULLの場合は置換文字列を返し、基準の式がNULLでない場合は基準の式の値を返します。
式がNULLの場合とそうでない場合に置換する値を変更するには、NVL2
を使用します。
戻り値
最初の引数のデータ型
構文
NVL(expr1, expr2)
引数
expr1
は評価される基準の式です。
expr2
はexpr1
がNULLの場合に返される置換文字列です。
例
NVL('First String', 'Second String')
は、値First String
を返します。
NVL(null, 'Second String')
は、値Second String
を返します。
親トピック: 行関数
3.58 NVL2
NVL2
は、指定した式がNULLでない場合にある値を返し、指定した式がNULLの場合には別の値を返します。
NULL値を文字列で置換するにはNVL
を使用します。
戻り値
最初の引数のデータ型
構文
NVL2(expr1, expr2, expr3)
引数
expr1
はこの関数で値を評価する基準の式です。
expr2
はexpr1
がNULLでないときにこの式の値を返します。
expr3
はexpr1
がNULLのときにこの式の値を返します。
例
NVL2('Which string?', 'First String', 'Second String')
は、値First String
を返します。
親トピック: 行関数
3.59 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 |
親トピック: 行関数
3.60 POWER
POWER
は、数値を累乗します。
戻り値
NUMBER
構文
POWER(n2, n1)
引数
n2
は累乗する任意の数値式です。
n1
: 指数です。
例
POWER(3,2)
は、値9
を返します。
親トピック: 行関数
3.61 RAWTOHEX
RAWTOHEX
は、RAWデータを、その16進数表現を含む文字値に変換します。
戻り値
VARCHAR2
構文
RAWTOHEX(raw)
引数
raw
は、LONG
、LONG RAW
、CLOB
、BLOB
またはBFILE
以外の任意のスカラー・データ型にすることができます。
例
RAWTOHEX(NLSSORT('Rumpelstiltskin'))
は、NLSSORT
から返されるRAW値を16進値52756D70656C7374696C74736B696E00
に変換します。
親トピック: 行関数
3.62 REGEXP_COUNT
REGEXP_COUNT
は、文字列内で正規表現パターンを検索し、そのパターンに一致する回数を返します。一致がない場合、この関数は0を返します。
このファンクションでは、入力文字セットによって定義された文字を使用して文字列を評価します。
戻り値
NUMBER
構文
REGEXP_COUNT (source_char, pattern
[, position
[, match_parameter ]
]
)
引数
source_char
は検索範囲のテキスト式です。
pattern
は検索対象の文字列です。ピリオドは任意の文字に一致します。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。
position
はsource_char
内で関数が検索を開始する文字を示す0以外の整数です。position
が負の場合、関数は文字列の最後から逆方向に数えて検索します。position
のデフォルト値の1では、関数がsource_char
の最初の文字から検索を開始します。
match_parameter
はテキスト・リテラルで、ファンクションが持つデフォルトの照合動作を変更できます。次の1つ以上の値を指定できます。
-
c
: 照合で大文字と小文字を区別します。 -
i
: 照合で大文字と小文字を区別しません。 -
m
: ソース文字列を複数行とみなします。関数は、^
および$
をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。 -
n
: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。 -
x
: 空白を無視します。
例
REGEXP_COUNT('Mississippi', 'i', 1)
は、文字列Mississippi
の最初の文字から開始して、文字i
を検索します。この関数は値4
を返します。
親トピック: 行関数
3.63 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_string
はsource_char
のpattern
を置換するテキストです。
position
はsource_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
親トピック: 行関数
3.64 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正規表現のサポートを参照してください。
position
はsource_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
を返します。
親トピック: 行関数
3.65 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正規表現のサポートを参照してください。
position
はsource_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
を返します。
親トピック: 行関数
3.66 REMAINDER
REMAINDER
は、ある数を別の数で割った剰余を、次の式を使用して丸めて返します。
n2 - (n1 * N)
このとき、N
はn2/n1
に最も近い整数です。
戻り値
NUMBER
構文
REMAINDER(n2, n1)
引数
n1
: 除数を表す数値式です。
n2
: 被除数を表す数値式です。
例
REMAINDER(18,7)
は、値-3
を返します。
親トピック: 行関数
3.67 REPLACE
REPLACE
は、文字列内で正規表現パターンを検索し、パターンを別の文字列で置換し、変更された文字列を返します。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
REPLACE(char, search_string [, replacement_string ])
引数
char
は検索範囲のテキスト式です。
search_string
: 検索対象のテキスト式です。
replacement_string
はchar
のsearch_string
を置換するテキスト式です。
例
REPLACE('Nick Nack', 'N', 'Cl')
は、文字列Click Clack
を返します。
親トピック: 行関数
3.68 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
を返します。
親トピック: 行関数
3.69 ROUND (数値)
ROUND
は、指定の小数点以下の桁数で四捨五入した数値を返します。
戻り値
NUMBER
構文
ROUND(n [, integer ])
引数
n
: 四捨五入する数値です。
integer
: 四捨五入した数値の小数点以下の桁数です。負の値を指定すると、小数点の左側の桁が四捨五入されます。デフォルト値は0 (ゼロ)です。
例
ROUND(15.193)
は、値15
を返します。
ROUND(15.193,1)
は、値15.2
を返します。
ROUND(15.193,-1)
は、値20
を返します。
親トピック: 行関数
3.70 ROWIDTOCHAR
ROWIDTOCHAR
は、行アドレスをROWID
データ型からテキストに変換します。戻り値は、常にデータベース文字セットの18文字です。
戻り値
VARCHAR2
構文
ROWIDTOCHAR(rowid)
引数
rowid
は変換する行アドレスです。
親トピック: 行関数
3.71 ROWIDTONCHAR
ROWIDTONCHAR
は、行アドレスをROWID
データ型からテキストに変換します。戻り値は、常に各国語文字セットの18文字です。
戻り値
NVARCHAR2
構文
ROWIDTONCHAR(rowid)
引数
rowid
は変換する行アドレスです。
親トピック: 行関数
3.72 RPAD
RPAD
は、指定した長さになるまで式の右に文字を追加します。戻り値のデータ型は元のテキストと同じです。
LPAD
を使用すると、左側に文字が追加されます。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
RPAD(expr1 , n [, expr2 ])
引数
expr1
: ベース文字列を表すテキスト式です。
n
: 返される式の合計長です。expr1
がn
よりも長い場合、この関数はexpr1
をn
文字に切り捨てます。
expr2
: 埋め込む文字のテキスト式です。デフォルトでは空白です。
例
RPAD('Stay tuned', 15, '. ')
は、値Stay tuned. . .
を返します。
RPAD('Stay tuned', 4)
は、値Stay
を返します。
親トピック: 行関数
3.73 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
を返します。
親トピック: 行関数
3.74 SESSIONTIMEZONE
SESSIONTIMEZONE
は、現行セッションのタイムゾーンを返します。戻り値の型は、協定世界時(UTC)に対するタイムゾーン・オフセットまたはタイムゾーンの地域名です。
戻り値
VARCHAR2
構文
SESSIONTIMEZONE
例
SESSIONTIMEZONE
は、東部標準時の場合は-05:00
を返します。
親トピック: 行関数
3.75 SIGN
SIGN
は、指定した数値が、負、0または正のいずれかを示す値を返します。
-
-1
ifn < 0
-
0
ifn = 0
-
1
ifn > 0
戻り値
NUMBER
構文
SIGN(n)
引数
n
: 数値式です。
例
SIGN(-15)
は、値-1
を返します。
親トピック: 行関数
3.76 SIN
SIN
は、角度の正弦を返します。
戻り値
NUMBER
構文
SIN(n)
引数
n
: 角度(ラジアン単位)を表す数値式です。
例
SIN(30 * 3.1415927/180)
は、角度30度の正弦を値0.500000007
と計算します。この数値式では度数がラジアンに変換されます。
親トピック: 行関数
3.77 SINH
SINH
は、双曲角度の正弦を返します。
戻り値
NUMBER
構文
SINH(n)
引数
n
: 双曲角度を表す数値式です。
例
SINH(1)
は、値1.17520119
を返します。
親トピック: 行関数
3.78 SOUNDEX
SOUNDEX
は、テキスト式の音声表現を含む文字列を返します。この関数では、異なるスペルで発音が似ている語句を比較できます。
この関数は、Donald KnuthのThe Art of Computer Programmingに記述されているアルゴリズムに基づいています。このアルゴリズムは英語用に設計されています。英語以外の言語での結果は予測できず、不十分な場合が多いです。
戻り値
VARCHAR2
構文
SOUNDEX (char)
引数
char
: 任意のテキスト式です。
例
このすべての例で値D500
が返されます。
soundex('Donna') soundex('Diane') soundex('Dana')
親トピック: 行関数
3.79 SQRT
SQRT
は、数値の平方根を返します。
戻り値
NUMBER
構文
SQRT(n)
引数
n
: 正の数を表す数値式です。
例
SQRT(13)
は、値3.60555128
を返します。
親トピック: 行関数
3.80 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
を返します。
親トピック: 行関数
3.81 SYS_CONTEXT
SYS_CONTEXT
は、名前付きコンテキストの属性の値を返します。コンテキスト、属性および値は、データベースですでに定義されている必要があります。コンテキストが定義されていない場合、SYS_CONTEXT
はNULL
を返します。
戻り値
VARCHAR2
構文
SYS_CONTEXT ('namespace', 'parameter')
引数
namespace
は、データベース内の任意の名前付きコンテキストにすることができます。USERENV
は、現在のセッションを説明する組込みコンテキストです。
parameter
は namespace
の定義済属性です。表3-3で、値を持つ可能性が最も高いUSERENV
の事前定義済属性について説明します。完全なリストについては、『Oracle Database SQL言語リファレンス』のSYS_CONTEXT
に関する項を参照してください。
表3-3 USERENV属性
USERENV属性 | 説明 |
---|---|
|
データベース・ユーザー名、スキーマ名、オペレーティング・システム・ログイン名など、認証に使用される識別情報。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
データベースのData Guardロール( |
|
|
|
|
|
|
|
ユーザーの企業全体での識別子(ローカル・ユーザーの場合は |
|
現在のセッションがクライアントのフォアグラウンド・プロセスで開かれた場合は、そのセッションのジョブ識別子。それ以外の場合は |
|
グローバルにアクセスされるコンテキストによってシステム・グローバル領域で使用される数値。 |
|
Oracle Internet Directory for Enterprise User Securityログインのグローバル・ユーザーID、または |
|
クライアント・ホスト・コンピュータの名前。 |
|
データベースでユーザー・スキーマが作成された方法( |
|
|
|
データベース・インスタンスの名前。 |
|
|
|
ユーザーがDBA権限で認証された場合は |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
データベース・セッションを開始したクライアント・プロセスのオペレーティングシステム・ユーザー名。 |
|
データベース・インスタンスが実行しているコンピュータのホスト名。 |
|
|
|
|
|
|
|
|
例
SYS_CONTEXT('USERENV','NLS_DATE_FORMAT')
は、DD-MON-RR
のような値を返します。
親トピック: 行関数
3.82 SYSDATE
SYSDATE
は、データベースがあるオペレーティング・システムの現在の日付と時刻を返します。値のフォーマットは、NLS_DATE_FORMAT
初期化パラメータによって異なります。
戻り値
DATE
構文
SYSDATE
例
SYSDATE
は、NLS_DATE_FORMAT
がDD-MON-RR
に設定された13-AUG-06
のような値を返します。
TO_CHAR(SYSDATE, 'MM-DD-YYYY HH24:MI:SS')
は、08-13-2006 17:20:47
のような値を返します。TO_CHAR
のコールで指定する日付フォーマットによって、日付と時刻の両方が表示されます。
親トピック: 行関数
3.83 SYSTIMESTAMP
SYSTIMESTAMP
は、データベースが存在するシステムの、秒の小数部とタイムゾーンを含む日付を戻します。
戻り値
TIMESTAMP WITH TIME ZONE
構文
SYSTIMESTAMP
例
SYSTIMESTAMP
は、次のような値を返します。
13-AUG-06 05.28.10.385799 PM -08:00
.
親トピック: 行関数
3.84 TAN
TAN
は、角度の正接を返します。
戻り値
NUMBER
構文
TAN(n)
引数
n
: 角度(ラジアン単位)を表す数値式です。
例
TAN(135 * 3.1415927/180)
は、角度135度の正接を値-0.99999993
と計算します。この式では度数がラジアンに変換されます。
親トピック: 行関数
3.85 TANH
TANH
は、双曲角度の正接を返します。
戻り値
NUMBER
構文
TANH(n)
引数
n
: 双曲角度を表す数値式です。
例
TANH(.5)
は、値0.462117157
を返します。
親トピック: 行関数
3.86 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='',.''')
親トピック: 行関数
3.87 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='',.''')
親トピック: 行関数
3.88 TO_CHAR (文字)
TO_CHAR (文字)
は、テキスト式をデータベース文字セットに変換します。
戻り値
VARCHAR2
構文
TO_CHAR(exp)
引数
char
: テキスト式です。データベース文字セットで表せない文字を含む場合、変換結果ではデータが失われます。
例
TO_CHAR('¡Una qué sorpresa!')
は、値?Una qu? sorpresa!
を返します。¡
とé
はデータベース文字セットにないため、変換ではこの2文字が失われます。
TO_CHAR('David Ortiz')
は、データベース文字セットの値David Ortiz
を返します。すべての文字がデータベース文字セットにあるため、この変換では文字が失われません。
親トピック: 行関数
3.89 TO_CHAR (日時)
TO_CHAR (日時)
は、日時式または期間式を、指定したフォーマットのテキスト文字列に変換します。
戻り値
VARCHAR2
構文
TO_CHAR({ datetime | interval } [, fmt [, 'nlsparam' ] ])
引数
datetime
: テキストに変換する日時式です。
interval
: テキストに変換する期間式です。
fmt
はchar
のフォーマットを指定するdatetimeモデル・フォーマットです。デフォルトの日付フォーマットは、NLS_TERRITORY
初期化パラメータによって暗黙に決まります。NLS_DATE_FORMAT
パラメータを使用して明示的に設定することもできます。データ型フォーマットの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
nlsparam
: 月と日の名前や略称を返すときに使用する言語を指定します。この引数は、次の書式で指定します。
'NLS_DATE_LANGUAGE = language'
デフォルトでは、戻り値はセッションの日付言語になります。
例
TO_CHAR(SYSDATE)
は、11-JAN-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
のような値を返します。
親トピック: 行関数
3.90 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
を返します。
親トピック: 行関数
3.91 TO_DATE
TO_DATE
は、テキスト式をDATE
データ型に変換します。
戻り値
DATE
構文
TO_DATE(char [, fmt [, 'nlsparam' ] ])
引数
char
: 日付を表すテキスト式です。
fmt
はchar
のフォーマットを指定する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
を返します。
親トピック: 行関数
3.92 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
を返します。
親トピック: 行関数
3.93 TO_NCHAR (文字)
TO_NCHAR (文字)
は、文字列を各国語文字セットに変換します。
戻り値
NVARCHAR2
構文
TO_NCHAR(exp)
引数
exp
: テキスト式です。各国語文字セットで表せない文字を含む場合、変換結果ではデータが失われます。
例
TO_NCHAR( 'David Ortiz')
は、各国語文字セットでDavid Ortiz
の値を返します。
親トピック: 行関数
3.94 TO_NCHAR (日時)
TO_NCHAR (日時)
は、日時または間隔の値を各国語文字セットに変換します。
戻り値
NVARCHAR2
構文
TO_NCHAR({ datetime | interval }
[, fmt [, 'nlsparam' ] ]
)
引数
datetime
: テキストに変換する日時式です。
interval
: テキストに変換する期間式です。
fmt
はchar
のフォーマットを指定する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
のような値を返します。
親トピック: 行関数
3.95 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
を返します。
親トピック: 行関数
3.96 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
を返します。
親トピック: 行関数
3.97 TO_TIMESTAMP
TO_TIMESTAMP
は、テキスト式をTIMESTAMP
の値に変換します。
戻り値
TIMESTAMP
構文
TO_TIMESTAMP(char [, fmt [ 'nlsparam' ] ])
引数
char
: 変換するテキスト式です。
fmt
はchar
のフォーマットを指定する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
を返します。
親トピック: 行関数
3.98 TO_TIMESTAMP_TZ
TO_TIMESTAMP_TZ
は、テキスト式をTIMESTAMP
WITH
TIME
ZONE
データ型の値に変換します。
戻り値
TIMESTAMP WITH TIME ZONE
構文
TO_TIMESTAMP_TZ(char [, fmt [ 'nlsparam' ] ])
引数
char
: 変換するテキスト式です。
fmt
はchar
のフォーマットを指定する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
を返します。
親トピック: 行関数
3.99 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形式:
years
とmonths
は、0から999999999までの整数です。
days
、hours
、minutes
、seconds
およびfrac_secs
は負以外の整数であり、無視されます。
値には空白を使用できません。
例
TO_YMINTERVAL('1-6')
およびTO_YMINTERVAL('P1Y6M')
は、1年と6か月を意味する値+01-06
を返します。
SYSDATE + TO_YMINTERVAL('1-6')
は、現在の日付に1年6か月を加算します。SYSDATE
が15-APR-08
の場合、値は15-OCT-09
です。
SYSDATE + TO_YMINTERVAL('P1Y6M')
は、ISO形式を使用して現在の日付に1年6か月を加算します。SYSDATE
が15-APR-08
の場合、値は15-OCT-09
です。
SYSDATE + TO_YMINTERVAL('-1-2')
は、現在の日付から1年2か月を減算します。SYSDATE
が15-APR-08
の場合、値は15-FEB-07
です。
親トピック: 行関数
3.100 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
を返します。
親トピック: 行関数
3.101 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
を返します。
親トピック: 行関数
3.102 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!!
を返します。
親トピック: 行関数
3.103 TRUNC (数値)
TRUNC
は、数値式の小数点以下を指定した桁数に切り捨てます。
戻り値
NUMBER
構文
TRUNC(n1 [, n2 ])
引数
n1
: 切捨てを行う数値式です。
n2
: 小数点以下の桁数です。正の数を指定すると、小数点の右側の桁が切り捨てられ、負の数を指定すると小数点の左側の桁が切り捨てられます。デフォルトは0です。
例
TRUNC(15.79)
は、値15
を返します。
TRUNC(15.79, 1)
は、値15.7
を返します。
TRUNC(15.79, -1)
は、値10
を返します。
親トピック: 行関数
3.104 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
を返します。
親トピック: 行関数
3.105 UID
UID
は、セッション・ユーザー(ログオンしているユーザー)の一意識別子(UID)を返します。
戻り値
INTEGER
構文
UID
例
UID
は、76
のような値を返します。
親トピック: 行関数
3.106 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åñö
を返します。
親トピック: 行関数
3.107 UPPER
UPPER
は、テキスト表現のすべてのアルファベット文字を大文字に変換します。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
UPPER(char)
引数
char
: 任意のテキスト式です。
例
UPPER('This is an emergency')
は、文字列THIS IS AN EMERGENCY
を返します。
親トピック: 行関数
3.108 USER
USER
は、セッション・ユーザー(ログオンしているユーザー)の名前を返します。
戻り値
VARCHAR2
構文
USER
例
USER
は、GLOBAL
のような値を返します。
親トピック: 行関数
3.109 VSIZE
VSIZE
は、式の内部表現のバイト数を返します。NULL式の場合はNULL
を返します。
戻り値
NUMBER
構文
VSIZE (expr)
引数
expr
: 任意のデータ型の式です。
例
VSIZE('Sound of thunder')
は値16
を返します。
VSIZE(CHANNEL.LONG_DESCRIPTION)
は次の値を返します。
チャネル | VSIZE |
---|---|
カタログ |
7 |
直接販売 |
12 |
インターネット |
8 |
親トピック: 行関数
3.110 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_value
はexpr
で受入れ可能な範囲の端点を表す式です。これらの式は両方とも、数値またはdatetime値になるように評価される必要があります。いずれもNULLに評価されることはできません。
num_buckets
はバケット数を表す式です。この式は、正の整数に評価される必要があります。
例
WIDTH_BUCKET(13, 0, 20, 4)
は、値3
を返します。0から20までの範囲に4つのバケットを作成し、13をバケット3に含めます。
WIDTH_BUCKET(-5, 0, 20, 4)
は、値0
を返します。値-5
は範囲開始を下回る値です。
親トピック: 行関数