3 行関数
OLAP行関数はディメンション・オブジェクトで使用されるためにSQL行関数の構文を拡張します。SQL行関数を使用するならば、この構文に見覚えがあるはずです。これらの関数は、キューブおよびキューブ・ディメンションへのロード時にリレーショナル・データで、および計算されたメジャーの作成時にOLAP関数と共に使用できます。
この章ではOLAPの行関数の式構文について説明します。この項の内容は、次のとおりです。
行関数(アルファベット順)
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
行関数(カテゴリ別)
行関数は次のカテゴリに分けられます。
変換関数
これらの関数は、あるデータ型から別のデータ型に値を変更します。
- 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
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のバイナリ値は111で29のバイナリ値は11101です。これらを1ビットずつ比較することで、バイナリ値101が生成され、これは10進値の5に相当します。
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を返します。
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の場合に、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))と等価です。
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を返します。この式では度数がラジアンに変換されます。
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つずつ比較します。
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!
EXP
EXPは、eのn乗を返します(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: CHAR、VARCHAR2、NCHARまたはNVARCHAR2データ型の16進値です。
例
HEXTORAW('7D')は、RAW値7Dを返します。
INITCAP
INITCAPは、指定したテキスト式の各語の先頭を大文字、それ以外を小文字として返します。語は空白か英字以外の文字で区切ります。戻り値のデータ型は元のテキストと同じです。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
構文
INITCAP(char)引数
char: 任意のテキスト式です。
例
INITCAP('top ten tunes')とINITCAP('TOP TEN TUNES')はどちらも文字列Top Ten Tunesを返します。
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の位置です。
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を返します。
LNNVL
LNNVLは、条件の1つまたは両方のオペランドがNULLの可能性がある場合に条件を評価します。LNNVLは、スカラー式を指定できる場所で使用できます。IS [NOT] NULL、ANDまたは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: 返される式の合計長です。expr1がnよりも長い場合、この関数はexpr1をn文字に切り捨てます。
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: 日時式です。date1がdate2よりも後の日付の場合、結果は正になります。date1がdate2よりも前の日付の場合、結果は負になります。
例
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_FORMATはDD-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: 任意のテキスト式です。
nlsparamはNLS_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: 任意のテキスト式です。
nlsparamはNLS_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: テキスト式です。
nlsparamはNLS_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は評価される基準の式です。
expr2はexpr1が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はこの関数で値を評価する基準の式です。
expr2はexpr1がNULLでないときにこの式の値を返します。
expr3はexpr1が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は、LONG、LONG RAW、CLOB、BLOBまたは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正規表現のサポートを参照してください。
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を返します。
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
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を返します。
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を返します。
REMAINDER
REMAINDERは、ある数を別の数で割った剰余を、次の式を使用して丸めて返します。
n2 - (n1 * N)
このとき、Nはn2/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_stringはcharのsearch_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: 返される式の合計長です。expr1がnよりも長い場合、この関数はexpr1をn文字に切り捨てます。
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または正のいずれかを示す値を返します。
-
-1ifn < 0 -
0ifn = 0 -
1ifn > 0
戻り値
NUMBER
構文
SIGN(n)引数
n: 数値式です。
例
SIGN(-15)は、値-1を返します。
SIN
SINは、角度の正弦を返します。
戻り値
NUMBER
構文
SIN(n)引数
n: 角度(ラジアン単位)を表す数値式です。
例
SIN(30 * 3.1415927/180)は、角度30度の正弦を値0.500000007と計算します。この数値式では度数がラジアンに変換されます。
SOUNDEX
SOUNDEXは、テキスト式の音声表現を含む文字列を返します。この関数では、異なるスペルで発音が似ている語句を比較できます。
この関数は、Donald KnuthのThe Art of Computer Programmingに記述されているアルゴリズムに基づいています。このアルゴリズムは英語用に設計されています。英語以外の言語での結果は予測できず、不十分な場合が多いです。
戻り値
VARCHAR2
構文
SOUNDEX (char)引数
char: 任意のテキスト式です。
例
このすべての例で値D500が返されます。
soundex('Donna')
soundex('Diane')
soundex('Dana')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_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のような値を返します。
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のコールで指定する日付フォーマットによって、日付と時刻の両方が表示されます。
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と計算します。この式では度数がラジアンに変換されます。
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: テキストに変換する期間式です。
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のような値を返します。
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: 日付を表すテキスト式です。
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を返します。
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: テキストに変換する期間式です。
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のような値を返します。
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: 変換するテキスト式です。
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を返します。
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を返します。
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です。
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を返します。
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を返します。
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_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は範囲開始を下回る値です。