クエリ編集ツールを使用すると、高度な関数を使用して複雑なフィルタリングを実行できます。このために、ツールパレットにはワークスペースで使用できるExpression要素が含まれています。この要素について詳しくは、こちらの節を参照してください。
この要素では、条件を手動で入力できます。ここでは、以降の節で説明する関数を使用できます。
目的とする結果や操作するデータのタイプに応じて、次のいくつかの関数タイプを使用できます。
外部パラメーターを使用してワークフローを呼び出した後、イベント変数を使用できるすべてのアクティビティーに、追加の関数が用意されています。 詳しくは、この節を参照してください。
日付関数は、日付や時刻の値を操作する場合に使用します。
名前 |
説明 |
構文 |
AddDays |
日付に日数を追加します |
AddDays(<日付>, <数値>) |
AddHours |
日付に時間数を追加します |
AddHours(<日付>, <数値>) |
AddMinutes |
日付に分数を追加します |
AddMinutes(<日付>, <数値>) |
AddMonths |
日付に月数を追加します |
AddMonths(<日付>, <数値>) |
AddSeconds |
日付に秒数を追加します |
AddSeconds(<日付>, <数値>) |
AddYears |
日付に年数を追加します |
AddYears(<日付>, <数値>) |
DateOnly |
日付のみを返します(時刻は 00:00) |
DateOnly(<日付>) |
Day |
日付の日を表す数を返します |
Day(<日付>) |
DayOfYear |
日付の年を表す数を返します |
DayOfYear(<日付>) |
DaysAgo |
現在の日付 - n 日を返します |
DaysAgo(<数値>) |
DaysAgoInt |
現在の日付 - n 日を(整数 yyyymmdd として)返します |
DaysAgoInt(<数値>) |
DaysDiff |
2 つの日付の間の日数を返します |
DaysDiff(<終了日>, <開始日>) |
DaysOld |
年齢(日数)を返します |
DaysOld(<日付>) |
GetDate |
サーバーの現在のシステム日付を返します |
GetDate() |
Hour |
日付の時間を返します |
Hour(<日付>) |
HoursDiff |
2 つの日付の間の時間数を返します |
HoursDiff(<終了日>, <開始日>) |
LocalToUTC |
現地の日時を UTC に変換します |
LocalToUTC(<日付>, <タイムゾーン>) |
Minute |
日付の分を返します |
Minute(<日付>) |
MinutesDiff |
2 つの日付の間の分数を返します |
MinutesDiff(<終了日>, <開始日>) |
Month |
日付の月を表す数を返します |
Month(<日付>) |
MonthsAgo |
現在の日付 - n ヶ月に対応する日付を返します |
MonthsAgo(<数値>) |
MonthsDiff |
2 つの日付の間の月数を返します |
MonthsDiff(<終了日>, <開始日>) |
MonthsOld |
年齢(月数)を返します |
MonthsOld(<日付>) |
Second |
日付の秒を返します |
Second(<日付>) |
Oldest |
最も古い日付を返します | Oldest(<日付>, <日付>) |
SecondsDiff |
2 つの日付の間の秒数を返します |
SecondsDiff(<終了日>, <開始日>) |
SubDays |
日付から日数を引きます |
SubDays(<日付>, <数値>) |
SubHours |
日付から時間数を引きます |
SubHours(<日付>, <数値>) |
SubMinutes |
日付から分数を引きます |
SubMinutes(<日付>, <数値>) |
SubMonths |
日付から月数を引きます |
SubMonths(<日付>, <数値>) |
SubSeconds |
日付から秒数を引きます |
SubSeconds(<日付>, <数値>) |
SubYears |
日付から年数を引きます |
SubYears(<日付>, <数値>) |
ToDate |
日付 + 時間を日付に変換します |
ToDate(<日付 + 時刻>) |
ToDateTime |
文字列を日付 + 時刻に変換します |
ToDateTime(<文字列>) |
ToDateTimeWithTimezone |
文字列を日付 + タイムゾーンに変換します 例:ToDateTimeWithTimezone("2019-02-19 08:09:00", "Asia/Tehran") |
ToDateTimeWithTimezone(<文字列>) |
TruncDate |
日付 + 時刻を最も近い秒に丸めます |
TruncDate(@lastModified, <秒数>) |
TruncDateTZ |
日付と時刻を指定された精度(秒)に丸めます |
TruncDateTZ(<日付>, <秒数>, <タイムゾーン>) |
TruncQuarter |
日付を四半期に丸めます |
TruncQuarter(<日付>) |
TruncTime |
時刻部分を最も近い秒に丸めます |
TruncTime(<日付>, <秒数>) |
TruncWeek |
日付を週に丸めます |
TruncWeek(<日付>) |
TruncYear |
日付 + 時刻をその年の 1 月 1 日に丸めます |
TruncYear(<日付>) |
WeekDay |
日付の週の日を表す数を返します |
WeekDay(<日付>) |
Year |
日付の年を表す数を返します |
Year(<日付>) |
YearAnd Month |
日付の年と月を表す数を返します |
YearAndMonth(<日付>) |
YearsDiff |
2 つの日付の間の年数を返します |
YearsDiff(<終了日>, <開始日>) |
YearsOld |
満年齢を返します |
YearsOld(<日付>) |
ジオマーケティング関数は、地理に関する値を操作する場合に使用します。
名前 |
説明 |
構文 |
Distance |
経度と緯度(度単位)で定義された2 点間の距離をキロメートル単位の値で返します |
Distance(<経度 A>, <緯度 A>, <経度 B>, <緯度 B>) |
数値関数は、テキストを数値に変換する場合に使用します。
名前 |
説明 |
構文 |
Abs |
数値の絶対値を返します |
Abs(<数値>) |
Ceil |
ある特定の数値以上の最小の整数を返します |
Ceil(<数値>) |
Floor |
指定された数値以下の最大の整数を返します |
Floor(<数値>) |
Greatest |
2 つの数のうち大きい方を返します |
Greatest(<数値 1>, <数値 2>) |
Least |
2 つの数のうち小さい方を返します |
Least(<数値 1>, <数値 2>) |
Mod |
整数の割り算 n1 ÷ n2 の余りを返します |
Mod(<数値 1>, <数値 2>) |
Percent |
割合で表される 2 つの数の比率を返します |
Percent(<数値 1>, <数値 2>) |
Random |
ランダムな値を返します |
Random() |
Round |
数値を n 桁に丸めます |
Round(<数値>, <小数点以下の桁数>) |
Sign |
数値の符号を返します |
Sign(<数値>) |
ToDouble |
整数を浮動小数に変換します |
ToDouble(<数値>) |
ToInt64 |
浮動小数を 64 ビットの整数に変換します |
ToInt64(<数値>) |
ToInteger |
浮動小数を整数に変換します |
ToInteger(<数値>) |
Trunc |
n1 を n2 の桁数に切り捨てます |
Trunc(<n1>, <n2>) |
以下の表には、上記以外の使用可能な関数が記載されています。
名前 |
説明 |
構文 |
Case |
条件が成り立つ場合は、値 1 を返します。それ以外の場合は、値 2 を返します。 |
Case(When(<条件>, <値 1>), Else(<値 2>)) |
ClearBit |
値のフラグを削除します |
ClearBit(<識別子>, <フラグ>) |
Coalesce |
値 1 がゼロまたは null の場合は値 2 を返し、それ以外の場合は値 1 を返します |
Coalesce(<値 1>, <値 2>) |
Decode |
値 1 = 値 2 であれば 3 を返し、それ以外の場合は 4 を返します |
Decode(<値 1>, <値 2>, <値 3>, <値 4>) |
Else |
値 1 を返します(case 関数のパラメーターとしてのみ使用できます) |
Else(<値 1>) |
GetEmailDomain |
E メールアドレスからドメインを抽出します |
GetEmailDomain(<値>) |
GetMirrorURL |
ミラーページサーバーの URL を取得します |
GetMirrorURL(<値>) |
Iif |
式が true の場合は値 1 を返し、それ以外の場合は値 2 を返します |
Iif(<条件>, <値 1>, <値 2>) |
IsBitSet |
値にフラグが含まれているかどうかを示します |
IsBitSet(<識別子>, <フラグ>) |
IsEmptyString |
文字列が空の場合は値 2 を返し、それ以外の場合は値 3 を返します |
IsEmptyString(<文字列>, <値 2>, <値 3>) |
NoNull |
引数が NULL の場合は、空の文字列を返します |
NoNull(<値>) |
RowId |
ライン番号を返します |
RowId |
SetBit |
値に強制的にフラグを指定します |
SetBit(<識別子>, <フラグ>) |
ToBoolean |
数値をブール値に変換します |
ToBoolean(<数値>) |
When |
式が成り立つ場合は、値 1 を返します。それ以外の場合は、値 2 を返します(ケース関数のパラメーターとしてのみ使用できます) |
When(<条件>, <値 1>) |
newUUID |
新しい UUID を返します |
newUUID |
文字列関数は、一連の文字列を操作する場合に使用します。
名前 |
説明 |
構文 |
AllNonNull2 |
すべてのパラメーターが null でなく空でもないかどうかを示します |
AllNonNull2(<文字列>, <文字列>) |
AllNonNull3 |
すべてのパラメーターが null でなく空でもないかどうかを示します |
AllNonNull3(<文字列>, <文字列>, <文字列>) |
ASCII |
文字列の最初の文字の ASCII 値を返します |
Ascii(<文字列>) |
Char |
ASCII コード「n」に対応する文字を返します |
Char(<数値>) |
Charindex |
文字列 1 における文字列 2 の位置を返します |
Charindex(<文字列>, <文字列>) |
DataLength |
文字列に含まれる文字数を返します |
DataLength(<文字列>) |
GetLine |
文字列の n 番目(1 から n)のラインを返します |
GetLine(<文字列>) |
IfEquals |
最初の 2 つのパラメーターが等しい場合は第 3 パラメーターを返し、それ以外の場合は最後のパラメーターを返します |
IfEquals(<文字列>, <文字列>, <文字列>, <文字列>) |
IsMemoNull |
パラメーターとして渡されたメモが null かどうかを示します |
IsMemoNull(<メモ>) |
JuxtWords |
パラメーターとして渡された 2 つの文字列を連結します。戻り値に含まれる各文字列の間にスペースが追加されます |
JuxtWords(<文字列>, <文字列>) |
JuxtWords3 |
パラメーターとして渡された 3 つの文字列を連結します。戻り値に含まれる各文字列の間にスペースが追加されます |
JuxtWords3(<文字列>, <文字列>, <文字列>) |
LPad |
左側の完成した文字列を返します |
LPad(<文字列>, <数値>, <文字>) |
Left |
文字列の最初の n 文字を返します |
Left(<文字列>, <数値>) |
Length |
文字列の長さを返します |
Length(<文字列>) |
Lower |
文字列を小文字で返します |
Lower(<文字列>) |
Ltrim |
文字列の左側の空白を削除します |
Ltrim(<文字列>) |
Md5Digest |
文字列の MD5 キーの 16 進数表現を返します |
Md5Digest(<文字列>) |
MemoContains |
パラメーターとして渡す文字列をメモに含めるかどうかを指定します |
MemoContains(<メモ>、<文字列>) |
RPad |
右側の完成した文字列を返します |
RPad(<文字列>, <数値>, <文字>) |
置換 |
ある文字列(第 1 パラメーター)について、指定された文字列値(第 2 パラメーター)が出現する箇所をすべて別の文字列値(第 3 パラメーター)に置き換えます。 |
Replace(<文字列>, <文字列>, <文字列>) |
Right |
文字列の最後の n 文字を返します |
Right(<文字列>) |
Rtrim |
文字列の右側の空白を削除します |
Rtrim(<文字列>) |
Sha256Digest |
指定された UTF8 文字列の標準の SHA256 ハッシュを計算します |
Sha256Digest(<String>) |
Sha384Digest |
指定された UTF8 文字列の標準の SHA384 ハッシュを計算します |
Sha384Digest(<文字列>) |
Sha512Digest |
指定された UTF8 文字列の標準の SHA512 ハッシュを計算します |
Sha512Digest(<文字列>) |
Smart |
各単語の最初の文字を大文字にして文字列を返します |
Smart(<文字列>) |
Substring |
文字列の n1 文字目から始まる長さ n2 文字の部分文字列を抽出します |
Substring(<文字列>, <オフセット>, <長さ>) |
ToIntlString |
数値を文字列に変換します |
ToIntlString(<数値>) |
ToString |
数値を文字列に変換します |
ToString(<数値>) |
Upper |
文字列を大文字で返します |
Upper(<文字列>) |
VirtualLink |
他の 2 つのパラメーターが等しい場合に、パラメーターとして渡されたリンクの外部キーを返します |
VirtualLink(<数値>, <数値>, <数値>) |
VirtualLinkStr |
他の 2 つのパラメーターが等しい場合に、パラメーターとして渡されたリンクの外部(テキスト)キーを返します |
VirtualLinkStr(<文字列>, <数値>, <数値>) |
encryption_aescbcDecrypt |
暗号化された値を 16 進数形式で復号化します。その際に、プレフィックスとして「x」(第 1 パラメーター)を付け、16 進数形式のキー(第 2 パラメーター)と 16 進数形式の初期化ベクター(第 3 パラメーター)を使用します |
encryption_aescbcDecrypt(<文字列>, <文字列>, <文字列>) |
encryption_aescbcEncrypt |
AES アルゴリズム(CBC ブロックモード)に基づき、キー(第 2 パラメーター)と初期化ベクター(第 3 パラメーター)を使用して、文字列(第 1 パラメーター)を暗号化します。キーと初期化ベクターは、16 進数表現(\x で始まる形式)で指定する必要があります。結果は、\x を除いた 16 進数で表されます。 キーのサイズには、128 ビット、192 ビット、256 ビット(16 進数文字で順に 16、24、32)のいずれかを指定できますが、256 ビット、およびキーと同じ長さのランダム化初期化ベクターを使用することをお勧めします |
encryption_aescbcEncrypt(<文字列>, <文字列>, <文字列>) 例えば、encryption_aescbcEncrypt(johndoe@example.com, "\x0123456789ABCDEF0123456789ABCDEF", "\x0123456789ABCDEFFEDCBA9876543210") |
集計関数は、ワークフローの「Query」アクティビティからさらにデータを追加する場合にのみ使用できます。
集計関数は、一連の値に対して計算を実行する場合に使用します。
名前 |
説明 |
構文 |
Avg |
数値列の平均値を返します |
Avg(<値>) |
Count |
列内の null 以外の値をカウントします |
Count(<値>) |
CountAll |
すべての値(null 値および重複値も含め)をカウントします |
CountAll() |
Countdistinct |
列内の null 以外のユニーク値をカウントします |
Countdistinct(<値>) |
Max |
数値、文字列、日付のいずれかの列における最大値を返します |
Max(<値>) |
Min |
数値、文字列、日付のいずれかの列における最小値を返します |
Min(<値>) |
Sum |
数値列の値の合計を返します |
Sum(<値>) |
表現関数は、値を並べ替える場合に使用します。
名前 |
説明 |
構文 |
Desc |
降順ソートを適用します |
Desc(<値 1>) |
OrderBy |
パーティション内の結果を並べ替えます |
OrderBy(<値 1>) |
PartitionBy |
テーブルのクエリの結果を区分します |
PartitionBy(<値 1>) |
RowNum |
テーブルのパーティションと並べ替えシーケンスに基づいて行番号を生成します。この関数は MySQL ではサポートされていません |
RowNum(PartitionBy(<値 1>), OrderBy(<値 1>)) |