函式清單

關於函式

查詢編輯工具可讓您使用進階功能執行複雜的過濾。為此,工具浮動視窗包含您可在工作區中使用的 Expression 元素。有關此要素的詳細資訊,請參閱特定區段

此元素可讓您手動輸入條件。在這裡,您可以使用以下幾節中定義的函式。

根據所需結果和操作資料的類型,可使用幾種功能類型:

  • 日期
  • 地理行銷
  • 數值
  • 其他函式
  • 彙總
  • 字串控制
  • 排序
注意

所有活動中都提供其他函式,讓您在使用外部參數呼叫工作流程後使用事件變數。 本節將詳述 這些內容

日期

日期函式可用來控制日期或時間值。

名稱
說明
語法
AddDays
新增日期的天數
AddDays(<date>, <number>)
AddHours
將小時數新增至日期
AddHours(<date>, <number>)
AddMinutes
將分鐘數新增至日期
AddMinutes(<date>, <number>)
AddMonths
新增月份至日期
AddMonths(<date>, <number>)
AddSeconds
新增秒數至日期
AddSeconds(<date>, <number>)
AddYears
在日期中新增多年
AddYears(<date>, <number>)
DateOnly
僅返回日期(時間為00:00)
DateOnly(<date>)
Day
傳回代表日期的數字
Day(<date>)
DayOfYear
傳回代表日期中某年的某天的數字
DayOfYear(<date>)
DaysAgo
傳回目前日期減去 n 天
DaysAgo(<number>)
DaysAgoInt
傳回目前日期減去 n 天(整數yyymmdd)
DaysAgoInt(<number>)
DaysDiff
兩個日期之間的天數
DaysDiff(<end date>, <start date>)
DaysOld
傳回日期的年齡(以天為單位)
DaysOld(<date>)
GetDate
返回伺服器的目前系統日期
GetDate()
Hour
傳回日期的小時數
Hour(<date>)
HoursDiff
傳回兩個日期之間的小時數
HoursDiff(<end date>, <start date>)
LocalToUTC
將本地日期和時間轉換為 UTC
LocalToUTC(<date>, <Time Zone>)
Minute
傳回日期的分鐘數
Minute(<date>)
MinutesDiff
傳回兩個日期之間的分鐘數
MinutesDiff(<end date>, <start date>)
Month
傳回代表日期月份的數字
Month(<date>)
MonthsAgo
傳回與目前日期對應的日期減去n個月
MonthsAgo(<number>)
MonthsDiff
傳回兩個日期之間的月數
MonthsDiff(<end date>, <start date>)
MonthsOld
傳回日期的月份
MonthsOld(<date>)
Second
傳回日期的秒數
Second(<date>)
Oldest
傳回最舊日期 Oldest(<Date>, <Date>)
SecondsDiff
傳回兩個日期之間的秒數
SecondsDiff(<end date>, <start date>)
SubDays
從日期減去天數
SubDays(<date>, <number>)
SubHours
從日期減去數小時
SubHours(<date>, <number>)
SubMinutes
從日期減去分鐘數
SubMinutes(<date>, <number>)
SubMonths
從日期減去幾個月
SubMonths(<date>, <number>)
SubSeconds
從日期減去秒數
SubSeconds(<date>, <number>)
SubYears
從日期減去數年
SubYears(<date>, <number>)
ToDate
將日期 + 時間轉換為日期
ToDate(<date + time>)
ToDateTime
將字串轉換為日期+時間
ToDateTime(<string>)
ToDateTimeWithTimezone
將字串轉換為日期+時區。
範例:ToDateTimeWithTimezone ("2019-02-19 08:09:00", "Asia/Tehran")
ToDateTimeWithTimezone(<string>)
TruncDate
將日期+時間四捨五入至最接近的秒數
TruncDate(@lastModified, <number of seconds>)
TruncDateTZ
將日期+時間四捨五入為以秒為單位的指定精確度
TruncDateTZ(<date>, <number of seconds>, <time zone>)
TruncQuarter
將日期捨入為季度
TruncQuarter(<date>)
TruncTime
將時間部分捨入到最接近的秒數
TruncTime(<date>, <number of seconds>)
TruncWeek
將日期捨入為一週
TruncWeek(<date>)
TruncYear
將日期+時間捨入至年度的 1 月 1 日
TruncYear(<date>)
WeekDay
傳回代表日期當週中某天的數字
WeekDay(<date>)

傳回代表日期年份的數字
Year(<date>)
YearAnd Month
傳回代表日期的年份和月份的數字
YearAndMonth(<date>)
YearsDiff
傳回兩個日期之間的年數
YearsDiff(<end date>, <start date>)
YearsOld
傳回日期的年齡
YearsOld(<date>)

Geomarketing

地理行銷函式用於操縱地理值。

名稱
說明
語法
距離
傳回由經度和緯度(以度表示)定義的兩點間的公里距離
距離(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>)

數值

數值函式用於將文本轉換為數字。

名稱
說明
語法
Abs
返回數字的絕對值
Abs(<number>)
Ceil
傳回大於或等於數字的最小整數
Ceil(<number>)
Floor
傳回小於或等於數字的最大整數
Floor(<number>)
Greatest
傳回兩個數字中的較大值
Greatest(<number 1>, <number 2>)
Least
傳回兩個數字中的較小者
Least(<number 1>, <number 2>)
Mod
傳回從 n1 除以 n2 的整數除法的餘數
Mod(<number 1>, <number 2>)
Percent
傳回兩個數字的比率,以百分比表示
Percent(<number 1>, <number 2>)
Random
傳回隨機值
Random()
Round
將數字四捨五入為n個小數
Round(<number>, <number of decimals>)
Sign
傳回數字元號
Sign(<number>)
ToDouble
將整數轉換為浮點數
ToDouble(<number>)
ToInt64
將浮點數轉換為 64 位整數
ToInt64(<number>)
ToInteger
將浮點數轉換為整數
ToInteger(<number>)
Trunc
截斷 n1 到 n2 小數
Trunc(<n1>, <n2>)

Others

此表包含剩餘的可用函式。

名稱
說明
語法
案例
如果條件已驗證,則傳回值 1。否則,傳回值 2
Case(When(<condition>, <value 1>), Else(<value 2>))
ClearBit
刪除值中的旗標
ClearBit(<identifier>, <flag>)
合併
如果值 1 為 零或 null,則傳回值 2,否則傳回值 1
Coalesce(<value 1>, <value 2>)
Decode
傳回值 3 是值 1 =值 2,否則返回 4
Decode(<value 1>, <value 2>, <value 3>, <value 4>)
Else
傳回值 1(只能用作 case 函式的參數)
Else(<value 1>)
GetEmailDomain
從電子郵件地址中擷取網域
GetEmailDomain(<value>)
GetMirrorURL
檢索鏡像頁伺服器的URL
GetMirrorURL(<value>)
Iif
如果運算式為 true,則傳回值 1,否則傳回值 2
Iif(<condition>, <value 1>, <value 2>)
IsBitSet
指出旗標是否在值中
IsBitSet(<identifier>, <flag>)
IsEmptyString
如果字串為空,則傳回值2,否則傳回值3
IsEmptyString(<string>, <value 2>, <value 3>)
NoNull
如果引數為 NULL,則返回空字串
NoNull(<value>)
RowId
返回行號
RowId
SetBit
強制值中的旗標
SetBit(<identifier>, <flag>)
ToBoolean
將數字轉換為布林值
ToBoolean(<number>)
When
如果運算式已驗證,則傳回值 1。否則,傳回值 2(只能用作 case 函式的參數)
When(<condition>, <value 1>)
newUUID
傳回新的 UUID。
newUUID

String

字串函式可用來控制一組字串。

名稱
說明
語法
AllNonNull2
指示所有參數是否為非空值且非空白
AllNonNull2(<string>, <string>)
AllNonNull3
指示所有參數是否為非空值且非空白
AllNonNull3(<string>, <string>, <string>)
ASCII
傳回字串中第一個字元的 ASCII 值
Ascii(<string>)
Char
傳回與 'n' ASCII 代碼對應的字元
字元(<number>)
Charindex
傳回字串 1 中字串 2 的位置
Charindex(<string>, <string>)
DataLength
傳回字串中的字元數
DataLength(<String>)
GetLine
傳回字串的第 n 行(從 1 到 n)
GetLine(<string>)
IfEquals
如果前兩個參數相等,則傳回第三個參數,否則傳回最後一個參數
IfEquals(<string>, <string>, <string>, <string>)
IsMemoNull
指示作為參數傳遞的備忘錄是否為空
IsMemoNull(<Memo>)
JuxtWords
將傳遞的兩個字串當成參數進行截斷。在傳回值中的每個字串之間新增空格。
JuxtWords(<string>, <string>)
JuxtWords3
將傳遞的三個字串視為參數。在傳回值中的每個字串之間新增空格。
JuxtWords3(<string>, <string>, <string>)
LPad
傳回左側的已完成字串
LPad(<string>, <number>, <caractère>)
Left
傳回字串的前 n 個字元
Left(<string>, <number>)
Length
傳回字串長度
Length(<string>)
Lower
傳回小寫字串
Lower(<string>)
Ltrim
移除字串左側的空格
Ltrim(<string>)
Md5Digest
返回字串 MD5 鍵的十六進位表示
Md5Digest(<string>)
MemoContains
指定備忘錄是否包含作為參數傳遞的字串
MemoContains(<memo>, <string>)
RPad
傳回右側的已完成字串
RPad(<string>, <number>, <character>)
Replace
將指定字串(第 2 個參數)值的所有出現次數,換成字串(第 1 個參數)中的其他字串值(第 3 個參數)
Replace(<String>、<String>、<String>)
Right
傳回字串的最後 n 個字元
Right(<string>)
Rtrim
移除字串右側的空格
Rtrim(<string>)
Sha256Digest
計算指定 UTF8 字串的標準 SHA256 雜湊
Sha256Digest(<String>)
Sha384Digest
計算指定 UTF8 字串的標準 SHA384 雜湊
Sha384Digest(<String>)
Sha512Digest
計算指定 UTF8 字串的標準 SHA512 雜湊
Sha512Digest(<String>)
Smart
傳回字串,每個字詞的首字母以大寫表示
Smart(<string>)
Substring
從字串的字元 n1 開始提取長度為 n2 的子字串
Substring(<string>, <offset>, <length>)
ToIntlString
將數字轉換為字串
ToIntlString(<number>)
ToString
將數字轉換為字串
ToString(<number>)
Upper
以大寫傳回字串
Upper(<string>)
VirtualLink
傳回連結的外鍵,如果其他兩個參數相等,則傳遞為參數
VirtualLink(<number>、<number>、<number>)
VirtualLinkStr
傳回連結的外鍵(文字)索引鍵,如果其他兩個參數相等,則傳回該連結的外鍵 (text) 
VirtualLinkStr(<string>, <number>, <number>)
encryption_aescbcDecrypt
使用 HEX 格式的密鑰(第 2 參數)和 HEX 格式的初始化向量(第 3 參數),以 "x"  前置詞(第 1 參數)解密 HEX 格式的加密值
encryption_aescbcDecrypt(<String>, <String>, <String>)
encryption_aescbcEncrypt
使用 AES 演算法(CBC 區塊模式)加密字元字串(第 1 參數),其中包含鍵(第 2 參數)和初始化向量(第 3 參數)。密鑰和初始化向量必須以十六進位表示(以 \x 開始)。結果將以十六進位表示,而不是 \x
請注意,密鑰大小可以是 128 位、192 位、256 位(16、24、32 個十六進位字元),但建議您使用 256 位和與密鑰長度相同的隨機 IV。
encryption_aescbcEncrypt(<String>, <String>, <String>)
,例如: encryption_aescbcEncrypt(johndoe@example.com, "\x012345689ABCDEF0123456789ABCDEF", "\x0123456789ABCDEFCBA9876543210」)

彙總

僅當從工作流程的 Query 活動中新增其他資料 時,彙總函式才可使用。

彙總函式用於對一組值執行計算。

名稱
說明
語法
平均,平均
傳回數值欄中的平均值。
Avg(<value>)
Count、Count(NULL 除外)
計算列中的非空值。
Count(<value>)
CountAll, Count all
計算所有值(包括空值和重複值)。
CountAll()
Countdistinct, Distinct count
計算列中的非空值、不同的值。
Countdistinct(<value>)
Max, Max
傳回數值、字串或日期欄中的最大值。
Max(<value>)
Min, Min
傳回數值、字串或日期欄中的最小值。
Min(<value>)
Sum, Sum
傳回數值欄中值的總和。
Sum(<value>)

Representation

表示函式用於對值進行排序。

名稱
說明
語法
Desc
套用遞減排序
Desc(<value 1>)
OrderBy
對分區內的結果進行排序
OrderBy(<value 1>)
PartitionBy
對表上的查詢結果進行分區
PartitionBy(<value 1>)
RowNum
根據表格分區和排序順序產生行號。MySQL 不支援此函式
RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))

本頁內容