関数のリスト

関数について

クエリ編集ツールを使用すると、高度な関数を使用して複雑なフィルタリングを実行できます。このために、ツールパレットにはワークスペースで使用できる​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, Average
数値列の平均値を返します
Avg(<値>)
Count
列内の null 以外の値をカウントします
Count(<値>)
CountAll
すべての値(null 値および重複値も含め)をカウントします
CountAll()
Countdistinct, Distinct count
列内の null 以外のユニーク値をカウントします
Countdistinct(<値>)
Max
数値、文字列、日付のいずれかの列における最大値を返します
Max(<値>)
Min
数値、文字列、日付のいずれかの列における最小値を返します
Min(<値>)
Sum
数値列の値の合計を返します
Sum(<値>)

表現

表現関数は、値を並べ替える場合に使用します。

名前
説明
構文
Desc
降順ソートを適用します
Desc(<値 1>)
OrderBy
パーティション内の結果を並べ替えます
OrderBy(<値 1>)
PartitionBy
テーブルのクエリの結果を区分します
PartitionBy(<値 1>)
RowNum
テーブルのパーティションと並べ替えシーケンスに基づいて行番号を生成します。この関数は MySQL ではサポートされていません
RowNum(PartitionBy(<値 1>), OrderBy(<値 1>))

このページ