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)

入力引数の値をlogicalに変換します。入力引数には、データ型big integerまたはintegerのいずれかを指定できます。戻り値の型は、Booleanになります。

関数 結果

boolean(5)

TRUE

boolean(0)

FALSE

boolean(NULL)

TRUE

boolean()

TRUE

boolean(-5)

TRUE

double(value1)

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

関数 結果

double(“3.14”)

3.14E+0

double(1234.56)

1.235E+003

float(value1)

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

関数 結果

float(“3.14”)

3.14E+0

float(1234.56)

1.235E+003

日付関数とは

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

関数名 説明

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のいずれかを引数として使用します。戻り値は、この日付オブジェクトによって表される日時の曜日を示します。この日付によって表される曜日を示す大整数を返します。

日曜=0、月曜=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)

第1セットの緯度、経度の値と、第2セットの緯度、経度の値の間の距離を返します。デフォルトのSRIDは、8307です。

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

間隔関数とは

間隔関数は、指定された値から時間間隔を計算する際に役立ちます。

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

関数名 説明

numtodsinterval(n,interval_unit)

指定された値をINTERVAL DAY TO SECONDリテラルに変換します。interval_unitの値は、nの単位を指定するもので、文字列値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までの間隔の時間数、分数および秒数を示します。秒の部分は、小数第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) 

ビットセット(From, To)付きのビットマスク

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) 

引数の値を角度(度)に変換します 

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)

引数の値を最も近い整数値に丸めます。入力引数には、データ型big integer、double、integer、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を第1引数と同じ型の値に置き換えます。たとえば、従業員と歩合のリストで、従業員が歩合を受け取らない場合、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)

索引が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