Show Menu
主題×

函式清單

關於函式

查詢編輯工具可讓您使用進階功能執行複雜的過濾。為此,工具浮動視窗包含您可在工作區中使用的  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>))