4 式ビルダーの関数の理解

式ビルダーは、様々な既存の関数を使用して式を構築できるエディタです。式を使用すると、パイプランに必要な結果を実現するのに役立ちます。

トピック:

ベッセル関数とは

整数の数学的な円柱関数は、ベッセル関数と呼ばれます。

このリリースでは、次のベッセル関数がサポートされています。
関数名 説明

BesselI0(x)

doubleの引数の階数0の変更済のベッセル関数をdoubleとして返します

BesselI0_exp(x)

doubleの引数の階数0の指数スケールが適用された変更済のベッセル関数をdoubleとして返します

BesselI1(x)

doubleの引数の階数1の変更済のベッセル関数をdoubleとして返します

BesselI1_exp(x)

doubleの引数の階数1の指数スケールが適用された変更済のベッセル関数をdoubleとして返します

BesselJ(x,x)

引数の階数nの第1種ベッセル関数をdoubleとして返します

BesselK(x,x)

引数の階数nの変更済の第3種ベッセル関数をdoubleとして返します

BesselK0_exp(x)

doubleの引数の階数0の指数スケールが適用された変更済の第3種ベッセル関数をdoubleとして返します

BesselK1_exp(x)

doubleの引数の階数1の指数スケールが適用された変更済の第3種ベッセル関数をdoubleとして返します

BesselY(x)

doubleの引数の階数nの第2種ベッセル関数をdoubleとして返します

変換関数とは

変換関数は、あるデータ型から他のデータ型に値を変換する場合に役立ちます。

このリリースでは、次の変換関数がサポートされています。

関数名 説明

bigdecimal(value1)

指定された値をbigdecimalに変換します

boolean(value1)

指定された値をlogicalに変換します

date(value1,value2)

指定された値をdatetimeに変換します

double(value1)

指定された値をdoubleに変換します

float(value1)

指定された値をfloatに変換します

int(value1)

指定された値をintegerに変換します

long(value1)

指定された値をlongに変換します

string(value1,value2)

指定された値をstringに変換します

boolean(value1)

入力引数を論理値に変換します。入力引数の型にはbig integerまたはintegerのいずれかを使用できます。戻り値の型はブールになります。

関数 結果

boolean(5)

TRUE

boolean(0)

FALSE

boolean(NULL)

TRUE

boolean()

TRUE

boolean(-5)

TRUE

double(value1)

入力引数をdoubleに変換します。入力引数の型にはinteger、big integer、double、textまたはfloatのいずれかを使用できます。戻り値の型はdoubleになります。

関数 結果

double(3.1406)

3.1405999660491943

double(1234.56)

1234.56005859375

float(value1)

入力引数をfloatに変換します。入力引数の型にはinteger、big integer、double、textまたはfloatのいずれかを使用できます。戻り値は単精度の浮動小数点数になります。

関数 結果

float(1.67898989395)

1.6789899

float(1.796709289)

1.7967093

float(12.60508090750)

12.605081

日付関数とは

このリリースでは、次の日付関数がサポートされています。

関数名 説明

day(date)

日付の日を返します

eventtimestamp()

ストリームからのイベント・タイムスタンプを返します

hour(date)

日付の時を返します

minute(date)

日付の分を返します

month(date)

日付の月を返します

nanosecond(date)

日付のナノ秒を返します

second(date)

日付の秒を返します

systimestamp()

アプリケーションが実行されているシステムのタイムスタンプを返します

timeformat(value1,value2)

指定されたタイムスタンプを必要な時間フォーマットで返します

timestamp()

現在の出力時間を返します

year(date)

日付の年を返します

タイムスタンプ値の許容可能なフォーマット

この項では、Oracle Stream Analyticsで許容可能なタイムスタンプ値のフォーマットを示します。

フォーマット サンプル値

MM/dd/yyyy HH:mm:ss.SSSS

3/21/2018 11:14:23.1111

MM/dd/yyyy HH:mm:ss.SSS

3/21/2018 11:14:23.111

MM/dd/yyyy HH:mm:ss.SS

3/21/2018 11:14:23.11

MM/dd/yyyy HH:mm:ss.S

3/21/2018 11:14:23.1

MM/dd/yyyy HH:mm:ss

3/21/2018 11:14:23

MM/dd/yyyy HH:mm

3/21/2018 11:14

MM/dd/yyyy HH

3/21/2018 11

MM/dd/yyyy

3/21/2018

MM-dd-yyyy HH:mm:ss.SSSS

11-21-2018 11:14:23.1111

MM-dd-yyyy HH:mm:ss.SSS

11-21-2018 11:14:23.111

MM-dd-yyyy HH:mm:ss.SS

11-21-2018 11:14:23.11

MM-dd-yyyy HH:mm:ss.S

11-21-2018 11:14:23.1

MM-dd-yyyy HH:mm:ss

11-21-2018 11:14:23

MM-dd-yyyy HH:mm

11-21-2018 11:14

MM-dd-yyyy HH

11-21-2018 11

MM-dd-yyyy

11-21-2018

dd-MMM-yy hh.mm.ss.SSSSSS a

11-Jan-18 11.14.23.111111 AM

dd-MMM-yy hh.mm.ss.SSSS

11-Jan-18 11.14.23.1111

dd-MMM-yy hh.mm.ss.SSS

11-Jan-18 11.14.23.111

dd-MMM-yy hh.mm.ss.SS

11-Jan-18 11.14.23.11

dd-MMM-yy hh.mm.ss.S

11-Jan-18 11.14.23.1

dd-MMM-yy hh.mm.ss

11-Jan-18 11.14.23

dd-MMM-yy hh.mm

11-Jan-18 11.14

dd-MMM-yy hh

11-Jan-18 11

dd-MMM-yy

11-Jan-18

dd/MMM/yy

15/MAR/18

yyyy-MM-dd HH:mm:ss.SSSSSS

2018-03-5 15:16:0.756000 +5:30,   2018-03-5 15:16:0.756000

yyyy-MM-dd HH.mm:.ss.SSSSSS

2018-03-5 15.16.0.756000 +5:30,   2018-03-5 15.16.0.756000

yyyy-MM-dd HH:mm:ss

2018-03-5 15:16:0;   2018-03-5 15:16:0 +5:30

yyyy-MM-dd HH.mm.ss

2018-03-5 15.16.0;   2018-03-5 15.16.0 +5:30

yyyy-MM-dd HH:mm

2018-03-5 15:16;   2018-03-5 15:16 +5:30

yyyy-MM-dd HH.mm

2018-03-5 15.16;   2018-03-5 15.16 +5:30

yyyy-MM-dd HH

2018-03-5 15

yyyy-MM-dd

2018-03-5

HH:mm:ss

11:14:14 PST

yyyy-MM-dd'T'HH:mm:ss'.'SSS

2018-03-04T12:08:56.235

yyyy-MM-dd'T'HH:mm:ss'.'SSSZ

2018-03-04T12:08:56.235-0700

yyyy-MM-dd'T'HH:mm:ss'.'SSSz

2018-03-04T12:08:56.235 PDT

yyyy-MM-dd'T'HH:mm:ss

2018-03-04T12:08:56

yyyy-MM-dd'T'HH:mm:ssZ

2018-03-04T12:08:56-0700

yyyy-MM-dd'T'HH:mm:ssz

2018-03-04T12:08:56 PDT

Day(date)

day(date)関数はtime intervalまたはtimestampのいずれかのデータ型の引数を取ります。戻り値はこの日付オブジェクトで表される時点の曜日を表します。この日付で表される曜日を示す大整数を返します。

Sunday=0、Monday=1のように表されるのであれば、次のようになります。

関数 結果

day(12/06/17 09:15:22 AM)

3

day(2017:11:23 11:20:25 PM)

4

hour(date)

hour(date)関数はtime intervalまたはtimestampのいずれかのデータ型の引数を取ります。戻り値はこの日付オブジェクトで表される時点の時間を表します。この日付で表される時間を示す大整数を返します。

関数 結果

hour(12/06/17 09:15:22 AM)

09

hour(2015:07:21 12:45:35 PM)

12

minute(date)

minute(date)関数はtime intervalまたはtimestampのいずれかのデータ型の引数を取ります。戻り値はこの日付オブジェクトで表される時点の分を表します。この日付で表される分を示す大整数を返します。

関数 結果

minute(12/06/17 09:15:22 AM)

15

minute(2015:07:21 12:45:35 PM)

45

month(date)

month(date)関数はtime intervalまたはtimestampのいずれかのデータ型の引数を取ります。戻り値はこの日付オブジェクトで表される時点を含む、またはこの時点から開始される月を表します。この日付で表される月を示す大整数を返します。

関数 結果

month(12/06/17 09:15:22 AM)

12

month(2017:09:23 11:20:25 AM)

9

second(date)

second(date)関数はtime intervalまたはtimestampのいずれかのデータ型の引数を取ります。戻り値はこの日付オブジェクトで表される時点の秒を表します。この日付で表される秒を示す大整数を返します。

関数 結果

second(12/06/17 09:15:22 AM)

22

second(2015:07:21 12:45:35 PM)

35

Year(date)

year(date)関数はtime intervalまたはtimestampのいずれかのデータ型の引数を取ります。戻り値はこの日付オブジェクトで表される時点の年を表します。この日付で表される年を示す大整数を返します。

関数 結果

year(12/06/17 09:15:22 AM)

17

year(2015:07:21 12:45:35 PM)

2015

ジオメトリ関数とは

ジオメトリ関数を使用すると、特定の値をジオメトリ形状に変換できます。

このリリースでは、次の時間隔関数がサポートされています。

関数名 説明

CreatePoint(lat,long,SRID)

指定された緯度および経度から2次元ポイント・タイプ・ジオメトリを返します。デフォルトのSRIDは8307です。

戻り値のデータ型は、sdo geometryです。

distance(lat1,long1,lat2,long2,SRID)

緯度と経度の値の最初のセットと2番目のセットの間の距離を返します。デフォルトのSRIDは8307です。

戻り値のデータ型は、doubleです。

時間隔関数とは

時間隔関数は、特定の値から時間間隔を計算する場合に役立ちます。

このリリースでは、次の時間隔関数がサポートされています。

関数名 説明

numtodsinterval(n,interval_unit)

指定された値をINTERVAL DAY TO SECONDリテラルに変換します。interval_unitの値には、nの単位を指定します。この値は、文字列値の1つ(DAYHOURMINUTEまたはSECOND)に解決できる必要があります。

戻り値のデータ型は、intervalです。

to_dsinterval(string)

DD HH:MM:SSというフォーマットの文字列をINTERVAL DAY TO SECONDデータ型に変換します。DDは、0から99までの日数を示します。HH:MM:SSは、間隔の時間数、分数および秒数(0:0:0から23:59:59.999999まで)を示します。2番目の部分は、最大6桁の小数点以下桁数を受け入れることができます。

戻り値のデータ型は、intervalです。

算術関数とは

算術関数を使用すると、単純なものから複雑なものまで、様々な数学的演算や計算を実行できます。

このリリースでは、次の算術関数がサポートされています。

関数名 説明

IEEEremainder(value1,value2)

IEEE 754標準に従って、2個の引数について剰余を計算します

abs(value1)

数字の絶対値を返します

acos(value1) 

値のアーク・コサインを返します

asin(value1) 

値のアーク・サインを返します

atan(value1) 

値のアーク・タンジェントを返します

atan2(arg1,arg2) 

点の極角(arg2, arg1)を返します

binomial(base,power) 

底の二項係数を指定の値で累乗した数値を返します

bitMaskWithBitsSetFromTo(x) 

BitsSet (From, To)が設定されたBitMask

cbrt(value1) 

指定された値の立方根を返します

ceil(value1) 

端数を、より大きい値に切り上げます

copySign(value1,value2)

2番目の浮動小数点引数の符号を付けた、最初の浮動小数点引数を返します

cos(value1) 

値のコサインを返します

cosh(value1) 

値のコサイン・ハイパーボリックを返します

exp(x) 

値の指数を返します

expm1(x) 

exp(x)のより精度の高い関数。xが0(ゼロ)に近いとき、1を返します

factorial(value1) 

自然数の階乗を返します

floor(value1) 

端数を、より小さい値に切り捨てます

getExponent(value1)

doubleの表現で使用されている、バイアスなしの指数を返します

getSeedAtRowColumn(value1,value2) 

あらかじめ定義されているシードの(外見上は膨大な)マトリックスから決定論的なシードをintegerとして返します

hash(value1)

指定されたdoubleの値に対するintegerのハッシュコードを返します

hypot(value1,value2) 

2つの引数の和の平方根を返します

leastSignificantBit(value1) 

このUUIDの128ビット値の最下位64ビットを返します

log(value1,value2) 

指定された底に対する指定された引数のログ値を計算します。value 1が値で、value 2が底です

log1(value1)

数値の自然対数を返します

log10(value1) 

底10に対する指定された引数のログ値を計算します

log2(value1) 

底2に対する指定された引数のログ値を計算します

logFactorial(value1) 

integerの引数の階乗の自然対数(底はe)をdoubleとして返します

longFactorial(value1) 

integerの引数(範囲はk >= 0 && k < 21)の階乗をlongとして返します

maximum(value1,value2) 

2つの引数の最大値を返します

minimum(value1,value2) 

2つの引数の最小値を返します

mod(value1,value2) 

数値のモジュロを返します

mosttSignificantBit(value1) 

このUUIDの128ビット値の最上位64ビットを返します

nextAfter(value1,value2)

2番目の引数の方向で、最初の引数に隣接する浮動小数点値を返します

nextDown(value1)

負の無限大方向で入力引数に隣接する浮動小数点値を返します

nextUp(value1)

正の無限大方向で入力引数に隣接する浮動小数点値を返します

Pow(m,n)

mのn乗を返します

rint(value1) 

引数の値にもっとも近く、計算上の整数に等しいdouble値を返します

round(value1) 

最も近い整数値に四捨五入します

Scalb(d,scaleFactor)

double値セットのメンバーに単一の正しく丸められた浮動小数点を掛けることによって実行される場合と同様に、d×2scaleFactorを丸めて返します

signum(value1) 

引数の符号をdouble値として返します

sin(value1) 

値のサインを返します

sinh(value1) 

値のサイン・ハイパーボリックを返します

sqrt(value1) 

値の平方根を返します

stirlingCorrection(value1) 

integerの引数の階乗の自然対数(底はe)のスターリングの近似の修正項をdoubleとして返します

tan(value1) 

値のタンジェントを返します

tanh(value1) 

値のタンジェント・ハイパーボリックを返します

toDegrees(value1) 

引数の値をdegreeに変換します

toRadians(value1) 

ラジアンで表した角度の計測値を返します

ulp(value1)

引数のulpのサイズを返します

maximum(value1, value2)

2つの引数の最大値を返します。1番目の引数の値は2番目の引数の値と比較され、big integer、double、interval、integer、floatのいずれかのデータ型を使用できます。2番目の引数の値は1番目の引数の値と比較され、big integer、double、interval、integer、floatのいずれかのデータ型を使用できます。

関数 結果

maximum(1999220,1997220)

1999220

maximum(135.45, 135.50)

135.50

注意:

2つの入力引数のデータ型が異なる場合は、一方の引数の型がもう一方の型と一致するようにStream Analyticsで暗黙的な変換が行われます。

minimum(value1, value2)

2つの引数の最小値を返します。1番目の引数の値は2番目の引数の値と比較され、big integer、double、interval、integer、floatのいずれかのデータ型を使用できます。2番目の引数の値は1番目の引数の値と比較され、big integer、double、interval、integer、floatのいずれかのデータ型を使用できます。

関数 結果

minimum(16324, 16321)

16321

minimum(3.16, 3.10)

3.10

注意:

2つの引数のデータ型が異なる場合は、一方の引数の型がもう一方の型と一致するように、Stream Analyticsで暗黙的な変換が行われます。

round(value1)

引数の値を最も近い整数値に四捨五入します。入力引数の型にはinteger、big integer、doubleまたはfloatのいずれかを使用できます。

関数 結果

round(7.16)

7

round(38.941)

39

round(3.5)

4

toDegrees(value1)

引数の値を度数に変換します。入力引数はラジアンで表した角度であり、型はdoubleを使用できます。戻り値は度数で表した角度であり、型はdoubleです。

関数 結果

toDegrees(3.14)

180.0

toDegrees(0.785)

45.0

toRadians(value1)

引数の値をラジアンに変換します。入力引数は度数で表した角度であり、型はdoubleを使用できます。戻り値はラジアンで表した角度であり、型はdoubleです。

関数 結果

toRadians(180.0)

3.14

toRadians(45.0)

0.785

NULL関連の関数とは

このリリースでは、次のNULL関連の関数がサポートされています。

関数名 説明

nvl(value1,value2)

nullを同じ型の値で置き換えます

nvl(value1, value2)

nvl関数は、null(空白として返される)を最初の引数と同じ型の値に置き換えます。たとえば、従業員と歩合のリストで、従業員が歩合を受け取らない場合は、nvl(value1,value2)関数をnvl(Not Applicable,Commission)のように使用して値Not Applicableを代入できます。

関数 結果

nvl(Not Applicable,Commission)

Not Applicable

統計関数とは

統計関数は、様々な値の統計を計算する場合に役立ちます。

このリリースでは、次の統計関数がサポートされています。

関数名 説明

beta1(value1,value2,value3)

ベータ密度関数で示す領域(0からvalue3)を返します

betaComplemented(value1,value2,value3)

ベータ密度関数の右側の尾で示す領域(value3から無限大)を返します

binomial2(value1,value2,value3)

二項確率密度の項0から項value1までの合計を返します。すべての引数が正の値である必要があります。

binomialComplemented(value1,value2,value3)

二項確率密度の項value1+1から項value2までの合計を返します。すべての引数が正の値である必要があります。

chiSquare(value1,value2)

自由度がvalue1のカイ2乗確率密度関数の左側の尾で示す領域(0からvalue2)を返します。どちらの引数も正の値である必要があります。

chiSquareComplemented(value1,value2)

自由度がvalue1のカイ2乗確率密度関数の右側の尾で示す領域(value2から無限大)を返します。どちらの引数も正の値である必要があります。

errorFunction(value1)

正規分布の誤差関数を返します

errorFunctionComplemented(value1)

正規分布の相補誤差関数を返します

gamma(value1,value2,value3)

引数のガンマ関数を返します

gammaComplemented(value1,value2,value3)

ガンマ確率密度関数の積分(value3から無限大)を返します

incompleteBeta(value1,value2,value3)

0からvalue3まで評価される不完全ベータ関数を返します

incompleteGamma(value1,value2)

不完全ガンマ関数を返します

incompleteGammaComplement(value1,value2)

相補不完全ガンマ関数を返します

logGamma(value1)

ガンマ関数の自然対数を返します

negativeBinomial(value1,value2,value3)

負の二項分布の項0から項value1までの合計を返します。すべての引数が正の値である必要があります。

negativeBinomialComplemented(value1,value2,value3)

負の二項分布の項value1+1から無限大の合計を返します。すべての引数が正の値である必要があります。

normal(value1,value2,value3)

負の無限大からvalue1に積分される、正規(ガウス)確率密度関数で示す領域を返します(平均が0、分散が1と仮定)

normalInverse(value1)

正規(ガウス)確率密度関数で示す領域が引数value1と等しくなる値を返します(平均が0、分散が1と仮定)

poisson(value1,value2)

ポアソン分布の初項value1の合計を返します。どちらの引数も正の値である必要があります。

poissonComplemented(value1,value2)

ポアソン分布の項value1+1から無限大の合計を返します

studentT(value1,value2)

自由度がvalue1 > 0のスチューデントのt分布の積分(負の無限大からvalue2)を返します

studentTInverse(value1,value2)

スチューデントt確率密度関数で示す領域が1-value1/2と等しくなる値を返します。この関数では、studentT関数を使用して、戻り値を繰り返し確認します。

文字列関数とは

このリリースでは、次の文字列関数がサポートされています。

関数名 説明

coalesce(value1,...)

リスト内の最初の非NULL式を返します。すべての式がNULLに評価されると、COALESCEはNULLを返します

concat(value1,...)

連結した値を文字列に変換して返します

indexof(string,match)

\'string\'内の\'match\'の最初の索引を返します。見つからない場合は、1を返します

initcap(value1)

指定されたテキスト式の各語の先頭を大文字、それ以外を小文字として返します

length(value1)

指定された文字列の長さを返します

like(value1,value2)

一致パターンを返します

lower(value1)

指定された文字列を小文字に変換します

lpad(value1,value2,value3)

文字列の左側を特定の文字セットで埋めます(string1がNULLでない場合)

ltrim(value1,value2)

文字列の左側から、指定されたすべての文字を削除します

replace(string,match,replacement)

\'string\'内のすべての\'match\'\'replacement\'で置き換えます

rpad(value1,value2,value3)

文字列の右側を特定の文字セットで埋めます(string1がNULLでない場合)

rtrim(value1,value2)

文字列の右側から、指定されたすべての文字を削除します

substr(string,from)

索引が'from' (値を含む)と文字列末尾の間にある場合、'string'の部分文字列を返します

substring(string,from,to)

索引が\'from\' (値を含む)と\'to\' (値を含まない)の間にある場合、\'string\'の部分文字列を返します

translate(value1,value2,value3)

文字列内の一連の文字を、別の文字のセットで置き換えます。ただし、一度に1文字を置き換えます。

upper(value1)

指定された文字列を大文字に変換します

coalesce(value1,... )

coalesceは、式リストのnull以外の最初の式を返します。2つ以上の式を指定する必要があります。すべての式がnullに評価されると、coalesce関数はnullを返します。

次に例を示します。

coalesce(expr1,expr2)の場合:

  • expr1がnullでない場合、この関数はexpr1を返します。

  • expr1がnullの場合、この関数はexpr2を返します。

  • expr1およびexpr2の両方がnullの場合、この関数はnullを返します。

coalesce(expr1,expr2,......,exprn)の場合

  • expr1がnullでない場合、この関数はexpr1を返します。

  • expr1がnullの場合、この関数はexpr2を返します。

  • expr1およびexpr2の両方がnullの場合、この関数は次のnull以外の式を返します。

length(value1)

入力引数として渡された文字列の長さを文字数で返します。入力引数のデータ型はtextです。戻り値は文字列全体の長さを表す整数です。

value1がnullの場合、length(value1)はnullを返します。

value1が空白文字列の場合、length(value1)はnullを返します。

関数 結果

length(“one”)

3

length()

エラー: 関数のパラメータが正しくありません。

length(“john”)

4

length(” “)

NULL

length(null)

NULL

length(“firstname.lastname@example.com”)

30

lower(value1)

文字列をすべて小文字に変換します。入力引数のデータ型はtextです。戻り値は指定した文字列をすべて小文字に変更した文字列です。

関数 結果

lower(“PRODUCT”)

product

lower(“ABCdef”)

abcdef

lower(“abc”)

abc

replace(string, match, replacement)

文字列のすべてのmatch文字をreplacement文字に置き換えます。1番目の入力引数stringのデータ型はtextです。2番目の引数matchのデータ型はtextです。3番目の引数replacementのデータ型はtextです。戻り値は2番目の文字列引数(match)を3番目の文字列引数(replacement)で置き換えたテキストになります。

matchが文字列に見つからない場合は、元の文字列が返されます。

関数 結果

replace(“aabbccdd”,”cc”,”ff”)

aabbffdd

replace(“aabbcccdd”,”cc”,”ff”)

aabbffcdd

replace(“aabbddee”,”cc”,”ff”)

aabbddee

substring(string, from, to)

stringのfrom(この位置を含む)からto(この位置を含まない)までの部分文字列を返します。1番目の入力引数stringのデータ型はtextです。2番目の引数は開始索引であり、整数です。3番目の引数は終了索引であり、整数です。戻り値は部分文字列であり、型はtextです。

関数 結果

substring(“abcdefgh”,3,7)

cdef

substring(“abcdefgh”,1,6)

abcde

upper(value1)

文字列をすべて大文字に変換します。入力引数のデータ型はtextです。戻り値は指定した文字列をすべて大文字に変更した文字列です。

関数 結果

upper(“name”)

NAME

upper(“abcdEFGH”)

ABCDEFGH

upper(“ABCD”)

ABCD