Show Menu
トピック×

関数のリスト

関数について

クエリ編集ツールを使用すると、高度な関数を使用して複雑なフィルタリングを実行できます。このために、ツールパレットにはワークスペースで使用できる​ 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>))