本文提供有關 Data Factory in Microsoft Fabric 支援的運算式和函式的詳細資料。
表達式
定義中的運算式值可以是常值,或是在執行時計算的運算式。 例如:
"value"
或
"@pipeline().parameters.password"
運算式可以出現在字串值中的任何一處,並總是會生成另一個字串值。 當值為運算式時,藉由移除 @ 符號來擷取運算式的主體。 如果需要的常值字串開頭為 @,就必須使用 @@ 逸出。 下列範例顯示如何評估運算式。
| 運算式值 | 結果 |
|---|---|
| 參數 | 傳回字串「parameters」。 |
| 參數[1] | 傳回的字元為 'parameters[1]'。 |
| "@@" | 傳回包含 \'\@\' 的 1 個字元字串。 |
| " @" | 傳回包含 '\@\' 的 2 個字元字串。 |
使用稱為「字串插補」的功能,運算式也可以出現在字串內,其中運算式會包含在 @{ ... } 內。 例如:"First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"
使用字串插補時,結果一律為字串。 假設我將 myNumber 定義為 42,將 myString 定義為 foo:
| 運算式值 | 結果 |
|---|---|
| "@pipeline().parameters.myString" | 傳回 foo 做為字串。 |
| "@{pipeline().parameters.myString}" | 傳回 foo 做為字串。 |
| "@pipeline().parameters.myNumber" | 傳回 42 做為「編號」。 |
| "@{pipeline().parameters.myNumber}" | 傳回 42 做為「字串」。 |
| 答案是:@{pipeline().parameters.myNumber} | 傳回 Answer is: 42 字串。 |
| @concat('Answer is: ', string(pipeline().parameters.myNumber)) | 傳回字串 Answer is: 42 |
| 答案是:@@{pipeline().parameters.myNumber} | 傳回 Answer is: @{pipeline().parameters.myNumber} 字串。 |
在像 ForEach 活動這類的控制流程活動中,您可以提供一個陣列作為屬性項目來逐一遍歷,並用 @item() 來逐一遍歷 ForEach 活動中的單項。 例如,如果項目為陣列:[1, 2, 3],@item() 在第一個反覆項目中會傳回 1,在第二個反覆項目中會傳回 2,在第三個反覆項目中會傳回 3。 您也可以使用 @range(0,10) 類似的運算式,迭代執行 10 次,從 0 開始,到 9 結束。
您可以使用 @activity(「活動名稱」) 來擷取活動的輸出並做出決策。 請考慮名為 Web1 的 Web 活動。 為了將第一個活動的輸出放在第二個活動的主體中,運算式通常看起來如下:@activity('Web1').output 或 @activity('Web1').output.data,或視第一個活動的輸出外觀而定。
範例
複雜運算式範例
下列範例所示的複雜範例參考了一個活動輸出的深度子欄位。 若要參考計算結果為子欄位的管線參數,請使用 [] 語法,而非點 (.) 運算子(如同 subfield1 和 subfield2 的情況),作為活動輸出的一部分。
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
動態建立檔案並將其命名,是常見的模式。 讓我們探索一些動態檔案命名範例。
- 將日期附加至檔案名:
@concat('Test_', formatDateTime(utcnow(), 'yyyy-dd-MM')) - 在客戶時區中附加日期時間:
@concat('Test_', convertFromUtc(utcnow(), 'Pacific Standard Time')) - 追加觸發時間:
@concat('Test_', pipeline().TriggerTime) - 在對應資料流中輸出時,將自訂檔案名輸出至帶有日期的單一檔案:
'Test_' + toString(currentDate()) + '.csv'
在上述情況下,會從 Test_ 開始建立 4 個動態檔案名。
動態內容編輯器
完成編輯時,動態內容編輯器會自動逸出內容中的字元。 例如,內容編輯器中的下列內容是具有運算式函式的字串插補。
"@{toUpper('myData')}"
動態內容編輯器會將上述內容轉換成運算式 "@{toUpper('myData')}"。 此運算式的結果是如下所示的格式化字串。
"MYDATA"
取代特殊字元
當您完成編輯時,動態內容編輯器會自動逸出內容中的字元,例如雙引號、反斜線。 這會產生問題,如果您想在 replace() 函式中使用 \n、\t 來取代換行或索引標籤。 您可以在程式碼檢視中編輯動態內容,以移除運算式中的額外 \,或者您可以遵循下列步驟,使用運算式語言取代特殊字元:
- 針對原始字串值的 URL 編碼
- 取代 URL 編碼字串,例如換行字元 (%0A)、歸位字元 (%0D)、水平製表符 (%09)。
- URL 解碼
例如,變數 companyName 在其值中有分行符號,運算式 @uriComponentToString(replace(uriComponent(variables('companyName')), '%0A', '')) 可以移除分行符號。
Contoso-
Corporation
逸出單引號字元
運算式函式會針對字串值參數使用單引號。 使用兩個單引號來逸出字串函式中的 ' 字元。 例如,運算式 @concat('Baba', '''s ', 'book store') 會傳回下列結果。
Baba's book store
管線範圍變數
您可以在管線中的任何位置參考這些系統變數。
| 變數名稱 | 描述 |
|---|---|
| @pipeline().DataFactory | 管線執行所在之工作區識別碼 |
| @pipeline().Pipeline | 管線的識別碼 |
| @pipeline().PipelineName | 管線名稱 |
| @pipeline().RunId | 特定管道運行識別碼 |
| @pipeline().TriggerId | 啟動管線的觸發器識別碼 |
| @pipeline().TriggerName | 程序流水線啟動的觸發器名稱 |
| @pipeline().TriggerTime | 叫用管線的觸發程序執行的時間。 這是觸發器實際啟動管線執行的時間,可能與觸發器的預定時間稍有不同。 |
| @pipeline().GroupId | 管線執行所屬的群組識別碼。 |
| @pipeline()?.TriggeredByPipelineName | 觸發管線執行的管線名稱。 管線執行是由 ExecutePipeline 活動觸發時適用。 在其他情況下使用時,評估為 Null。 注意 @pipeline() 之後的問號 |
| @pipeline()?.TriggeredByPipelineRunId | 觸發管線執行的管線的執行識別碼。 管線執行是由 ExecutePipeline 活動觸發時適用。 在其他情況下使用時,評估為 Null。 注意 @pipeline() 之後的問號 |
注意
觸發程序相關的日期/時間系統變數 (在管線和觸發程序範圍中) 會以 ISO 8601 格式傳回 UTC 日期,例如,2017-06-01T22:20:00.4061448Z。
Functions
您可以在運算式內呼叫函式。 下列各節提供可在運算式中使用之函式的相關資訊。
日期函式
| 日期或時間函式 | 任務 |
|---|---|
| addDays | 將天數加入時間戳記。 |
| 新增小時 | 將時數加入時間戳記。 |
| addMinutes | 將分鐘數加入時間戳記。 |
| addSeconds | 將秒數加入時間戳記。 |
| addToTime | 將若干時間單位增加到時間戳記上。 另請參閱 getFutureTime。 |
| convertFromUtc | 將時間戳記從國際標準時間 (UTC) 轉換為目標時區。 |
| convertTimeZone | 將時間戳記從來源時區轉換為目標時區。 |
| 轉換為UTC | 將時間戳記從來源時區轉換為國際標準時間 (UTC)。 |
| dayOfMonth | 傳回時間戳記中的當月日期元件。 |
| dayOfWeek | 傳回時間戳記中的星期幾元件。 |
| dayOfYear | 傳回時間戳記中年份的日期值。 |
| formatDateTime | 以選用格式將時間戳記當作字串傳回。 |
| getFutureTime | 傳回目前時間戳記加上指定時間單位的結果。 另請參閱 addToTime。 |
| getPastTime | 傳回目前時間戳記減去指定時間單位的結果。 另請參閱 subtractFromTime。 |
| startOfDay | 傳回時間戳記中當天的起始點。 |
| startOfHour | 返回一個時間戳記的小時起始點。 |
| startOfMonth | 傳回時間戳記中月份的起始點。 |
| subtractFromTime | 從時間戳減去一定數量的時間單位。 另請參閱 getPastTime。 |
| ticks | 傳回指定時間戳記的 ticks 屬性值。 |
| utcNow | 傳回目前的時間戳記作為字串。 |
字串函數
若要處理字串,您可以使用這些字串函式以及一些集合函式。 字串函式只能用於字串。
| 字串函數 | 任務 |
|---|---|
| concat | 結合兩個或多個字串,並傳回合併的字串。 |
| endsWith | 檢查字串是否以指定的子字串結束。 |
| guid | 以字串形式產生全域唯一識別碼 (GUID)。 |
| indexOf | 傳回子字串的起始位置。 |
| lastIndexOf | 傳回子字串最後一次出現的起始位置。 |
| 替換 | 使用指定字串取代子字串,並傳回已更新的字串。 |
| 分裂 | 根據原始字串中指定的分隔符號字元,從較大型字串傳回包含以逗號分隔之子字串的陣列。 |
| 以...開始 | 檢查字串是否以特定的子字串開始。 |
| 子字串 | 傳回字串中的字元 (從指定的位置起始)。 |
| toLower | 傳回小寫格式的字串。 |
| toUpper | 傳回大寫格式的字串。 |
| 修剪 | 移除字串的開頭和尾端空白字元,並傳回更新後的字串。 |
集合函數
若要處理集合 (通常為陣列、字串,而有時候為字典),您可以使用這些集合函式。
| 集合函式 | 任務 |
|---|---|
| contains | 檢查集合是否具有特定項目。 |
| empty | 檢查集合是否是空的。 |
| first | 傳回集合中的第一個項目。 |
| 交叉路口 | 傳回一個集合,其中僅包括指定的多個集合中共同的項目。 |
| join | 傳回具有陣列中「所有」項目 (以指定的字元隔開) 的字串。 |
| 最後 | 傳回集合中的最後一個項目。 |
| length | 傳回字串或陣列中的項目數目。 |
| skip | 移除集合前端的項目,並傳回「其他所有」項目。 |
| take | 傳回集合中的前端項目。 |
| 工會 | 傳回具有指定集合中「所有」項目的集合。 |
邏輯函式
這些函式在條件內相當有用,而且可以用來評估任何類型的邏輯。
| 邏輯比較函式 | 任務 |
|---|---|
| 和 | 檢查是否所有表達式為真。 |
| 等於 | 檢查兩個值是否相等。 |
| 較大 | 檢查第一個值是否大於第二個值。 |
| 大於或等於 | 檢查第一個值是否大於或等於第二個值。 |
| if | 檢查表達式是正確或錯誤。 根據結果,傳回指定的值。 |
| 較少 | 檢查第一個值是否小於第二個值。 |
| 小於或等於 | 檢查第一個值是否小於或等於第二個值。 |
| 不 | 檢查運算式是否為 False。 |
| 或是 | 檢查是否至少有一個運算式為真。 |
轉換函數
這些函式是用來轉換語言中的各種原生類型︰
- 字串
- 整數
- float
- boolean
- 陣列
- 字典
| 轉換函式 | 任務 |
|---|---|
| array | 從單一指定的輸入返回一個陣列。 關於多個輸入,請參閱 createArray。 |
| base64 | 傳回字串的 base64 編碼版本。 |
| base64ToBinary | 傳回 base64 編碼字串的二進位版本。 |
| base64ToString | 傳回 base64 編碼字串的字串版本。 |
| binary | 傳回輸入值的二進位版本。 |
| bool | 傳回輸入值的布林值版本。 |
| coalesce | 從一個或多個參數中傳回第一個非 Null 值。 |
| createArray | 傳回一個來自多個輸入的陣列。 |
| dataUri | 傳回輸入值的資料 URI。 |
| dataUriToBinary | 傳回資料 URI 的二進位版本。 |
| dataUriToString | 傳回資料 URI 的字串版本。 |
| decodeBase64 | 傳回 base64 編碼字串的字串版本。 |
| decodeDataUri | 傳回資料 URI 的二進位版本。 |
| decodeUriComponent | 傳回以已解碼版本取代逸出字元的字串。 |
| encodeUriComponent | 傳回一個字串,將 URL 不安全的字元替換成逸出字元。 |
| float | 傳回輸入值的浮點數。 |
| int | 傳回字串的整數版本。 |
| string | 傳回輸入值的字串版本。 |
| uriComponent | 藉由以逸出字元取代 URL 中的 Unsafe 字元,傳回輸入值的 URI 編碼版本。 |
| uriComponentToBinary | 傳回 URI 編碼字串的二進位版本。 |
| uriComponentToString | 傳回 URI 編碼字串的字串版本。 |
| xml | 傳回字串的 SML 版本。 |
| xpath | 檢查 XML 中是否有符合 XPath (XML 路徑語言) 運算式的節點或值,並傳回符合的節點或值。 |
數學函數
這些函式可用於任一類型的數字︰整數和浮點數。
| 數學函式 | 任務 |
|---|---|
| 新增 | 傳回兩個數字相加的結果。 |
| div | 傳回兩個數字相除的結果。 |
| max | 從數字集合或陣列中傳回最大值。 |
| min | 從數字集合或陣列中傳回最小值。 |
| mod | 傳回兩數相除的餘數。 |
| mul | 傳回兩數相乘的結果。 |
| rand | 從指定範圍傳回隨機整數。 |
| 範圍 | 傳回從指定整數開始的整數陣列。 |
| sub | 傳回第一個數字減去第二個數字的結果。 |
函式參考
本節依字母順序列出所有可用的函式。
添加
傳回兩個數字相加的結果。
add(<summand_1>, <summand_2>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < summand_1>、 <summand_2> | Yes | 整數、浮點數或混合 | 要相加的數字 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 結果總和> | 整數或浮點數 | 指定數字相加的結果 |
範例
此範例會相加指定的數字:
add(1, 1.5)
並傳回此結果:2.5
addDays
將天數加入時間戳記。
addDays('<timestamp>', <days>, '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 日> | Yes | 整數 | 要加入的天數 (正數或負數) |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 時間戳記加上指定的天數 |
範例 1
此範例會在指定的時間戳記中加上 10 天:
addDays('2018-03-15T13:00:00Z', 10)
並傳回此結果:"2018-03-25T00:00:0000000Z"
範例 2
此範例會從指定的時間戳記中減去五天:
addDays('2018-03-15T00:00:00Z', -5)
並傳回此結果:"2018-03-10T00:00:0000000Z"
加小時
將時數加入時間戳記。
addHours('<timestamp>', <hours>, '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 小時> | Yes | 整數 | 要加入的時數 (正數或負數) |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 時間戳記加上指定的時數 |
範例 1
此範例會在指定的時間戳記中加上 10 小時:
addHours('2018-03-15T00:00:00Z', 10)
並傳回此結果:"2018-03-15T10:00:0000000Z"
範例 2
此範例會從指定的時間戳記中減去五小時:
addHours('2018-03-15T15:00:00Z', -5)
並傳回此結果:"2018-03-15T10:00:0000000Z"
addMinutes
將分鐘數加入時間戳記。
addMinutes('<timestamp>', <minutes>, '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 分鐘> | Yes | 整數 | 要加入的分鐘數 (正數或負數) |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 時間戳記加上指定的分鐘數 |
範例 1
此範例會在指定的時間戳記中加上 10 分鐘:
addMinutes('2018-03-15T00:10:00Z', 10)
並傳回此結果:"2018-03-15T00:20:00.0000000Z"
範例 2
此範例會從指定的時間戳記中減去五分鐘:
addMinutes('2018-03-15T00:20:00Z', -5)
並傳回此結果:"2018-03-15T00:15:00.0000000Z"
增加秒數
將秒數加入時間戳記。
addSeconds('<timestamp>', <seconds>, '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 秒> | Yes | 整數 | 要加入的秒數 (正數或負數) |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 時間戳記加上指定的秒數 |
範例 1
此範例會在指定的時間戳記中加上 10 秒鐘:
addSeconds('2018-03-15T00:00:00Z', 10)
並傳回此結果:"2018-03-15T00:00:10.0000000Z"
範例 2
此範例會在指定的時間戳記中減去 5 秒鐘:
addSeconds('2018-03-15T00:00:30Z', -5)
並傳回此結果:"2018-03-15T00:00:25.0000000Z"
加到時間
將若干時間單位增加到時間戳記上。 另請參閱 getFutureTime()。
addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 間> | Yes | 整數 | 要加入的指定時間單位數字 |
| < 時間單位> | Yes | 字串 | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 時間戳記加上指定的時間單位數字 |
範例 1
此範例會在指定的時間戳記中加上 1 天:
addToTime('2018-01-01T00:00:00Z', 1, 'Day')
並傳回此結果:"2018-01-02T00:00:00.0000000Z"
範例 2
此範例會在指定的時間戳記中加上 1 天:
addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')
並傳回選用 "D" 格式的結果:"Tuesday, January 2, 2018"
及
檢查兩個運算式是否都為 True。 在所有運算式都是 True 時,傳回 True,或至少有一個運算式為 False 時傳回 False。
and(<expression1>, <expression2>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 運算式1>、 <運算式2> | Yes | 布林值 | 要檢查的表達式 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當兩個運算式都是 True 時,便傳回 True。 至少一個運算式為 False 時,則傳回 False。 |
範例 1
這些範例會檢查指定的布林值是否都是 True:
and(true, true)
and(false, true)
and(false, false)
並傳回下列結果:
- 第一個範例:兩個運算式都是 True,所以會傳回
true。 - 第二個範例:一個運算式為 False,所以會傳回
false。 - 第三個範例:兩個運算式都是假,所以會傳回
false。
範例 2
這些範例會檢查指定的運算式是否都為真:
and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))
並傳回下列結果:
- 第一個範例:兩個運算式都是 True,所以會傳回
true。 - 第二個範例:一個運算式為 False,所以會傳回
false。 - 第三個範例:兩個運算式都是假,所以會傳回
false。
陣列
從單一指定的輸入返回一個陣列。 關於多個輸入的資訊,請參閱 createArray()。
array('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 建立陣列的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| [<值>] | 陣列 | 包含單一指定輸入的陣列 |
範例
此範例會從 "hello" 字串建立陣列:
array('hello')
並傳回此結果:["hello"]
base64
傳回字串的 base64 編碼版本。
base64('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 輸入字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < base64 字串> | 字串 | 輸入字串的 base64 編碼版本 |
範例
此範例會將 "hello" 字串轉換為 base64 編碼的字串:
base64('hello')
並傳回此結果:"aGVsbG8="
base64ToBinary
傳回 base64 編碼字串的二進位版本。
base64ToBinary('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的 base64 編碼字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < binary-for-base64-string> | 字串 | base64 編碼字串的二進位版本 |
範例
此範例會將 "aGVsbG8=" base64 編碼的字串轉換為二進位字串:
base64ToBinary('aGVsbG8=')
並傳回此結果:
"0110000101000111010101100111001101100010010001110011100000111101"
base64ToString
傳回 base64 編碼字串的字串版本,也就是有效地解碼 base64 字串。
使用此函式而非 decodeBase64()。
雖然這兩個函數的運作方式相同,但是較常使用 base64ToString()。
base64ToString('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要解碼的 base64 編碼字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 解碼基底64字串> | 字串 | base64 編碼的字串版本 |
範例
此範例會將 "aGVsbG8=" base64 編碼的字串轉換為單純字串:
base64ToString('aGVsbG8=')
並傳回此結果:"hello"
二進位
傳回字串的二進位版本。
binary('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 輸入值的二進位> | 字串 | 指定字串的二進位版本 |
範例
此範例會將 "hello" 字串轉換為二進位字串:
binary('hello')
並傳回此結果:
"0110100001100101011011000110110001101111"
布林
傳回值的布林值版本。
bool(<value>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 任意 | 要轉換的值 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 指定值的布林轉換結果 |
範例
這些範例會將指定的值轉換為布林值:
bool(1)
bool(0)
並傳回下列結果:
- 第一個範例:
true - 第二個範例:
false
聯合
從一個或多個參數中傳回第一個非 Null 值。 空白字串、空白陣列和空白物件不是 null。
coalesce(<object_1>, <object_2>, ...)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < object_1>、 <object_2>、...... | Yes | 可以是任何類型,包括混合類型 | 要檢查是否為 null 的一個或多個項目 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 第一個非空項目> | 任意 | 第一個不是 Null 的項目或值。 如果所有參數都是 Null,則此函式會傳回 Null。 |
範例
這些範例會從指定值傳回第一個非 Null 的值,或是,如果所有值都是 Null,則傳回 Null:
coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)
並傳回下列結果:
- 第一個範例:
true - 第二個範例:
"hello" - 第三個範例:
null
concat
結合兩個或多個字串,並傳回合併的字串。
concat('<text1>', '<text2>', ...)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < text1>, <text2>, ... | Yes | 字串 | 至少要有兩個字串來結合 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < text1text2...> | 字串 | 從合併輸入字串中建立的字串 |
範例
此範例會合併 "Hello" 和 "World" 字串:
concat('Hello', 'World')
並傳回此結果:"HelloWorld"
包含
檢查集合是否具有特定項目。 找到項目時,傳回 True,或找不到項目時,傳回 False。 此函式會區分大小寫。
contains('<collection>', '<value>')
contains([<collection>], '<value>')
具體而言,此函數會用在這些集合類型上:
- 在「字串」中尋找「子字串」
- 用於尋找「值」的「陣列」
- 一個用來尋找鍵的字典
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 字串、陣列或字典 | 要檢查的集合 |
| < 價> | Yes | 分別為字串、陣列或字典 | 要尋找的項目 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 找到項目時,傳回 True。 找不到時,傳回 False。 |
範例 1
此範例會檢查字串 "hello world" 是否有子字串 "world",並傳回 True:
contains('hello world', 'world')
範例 2
此範例會檢查字串 "hello world" 是否有子字串 "universe",並傳回 False:
contains('hello world', 'universe')
convertFromUtc
將時間戳記從國際標準時間 (UTC) 轉換為目標時區。
convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 目的地時區> | Yes | 字串 | 目標時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 轉換時間戳記> | 字串 | 已轉換為目標時區的時間戳記 |
範例 1
此範例會將時間戳記轉換為指定的時區:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')
並傳回此結果:"2018-01-01T00:00:00Z"
範例 2
此範例會將時間戳記轉換為指定的時區和格式:
convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')
並傳回此結果:"Monday, January 1, 2018"
convertTimeZone
將時間戳記從來源時區轉換為目標時區。
convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 來源時區> | Yes | 字串 | 來源時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
| < 目的地時區> | Yes | 字串 | 目標時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 轉換時間戳記> | 字串 | 已轉換為目標時區的時間戳記 |
範例 1
此範例會將來源時區轉換為目標時區:
convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')
並傳回此結果:"2018-01-01T00:00:00.0000000"
範例 2
此範例會將時區轉換為指定的時區和格式:
convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')
並傳回此結果:"Monday, January 1, 2018"
轉換為UTC
將時間戳記從來源時區轉換為國際標準時間 (UTC)。
convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 來源時區> | Yes | 字串 | 來源時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 轉換時間戳記> | 字串 | 轉換為 UTC 的時間戳記 |
範例 1
此範例會將時間戳記轉換為 UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')
並傳回此結果:"2018-01-01T08:00:00.0000000Z"
範例 2
此範例會將時間戳記轉換為 UTC:
convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')
並傳回此結果:"Monday, January 1, 2018"
createArray
傳回一個來自多個輸入的陣列。 如需單一輸入陣列的資訊,請參閱 array()。
createArray('<object1>', '<object2>', ...)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 對象1>、 <對象2>、... | Yes | 任何類型,但不能是混合 | 至少需要兩個項目來建立陣列 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| [<對象 1>, <對象 2>,...] | 陣列 | 從所有輸入項目建立的陣列 |
範例
此範例會從以下輸入建立陣列:
createArray('h', 'e', 'l', 'l', 'o')
並傳回此結果:["h", "e", "l", "l", "o"]
dataUri
傳回字串的資料統一資源識別項 (URI)。
dataUri('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 資料 uri> | 字串 | 輸入字串的資料URI |
範例
此範例會針對 "hello" 字串建立資料 URI:
dataUri('hello')
並傳回此結果:"data:text/plain;charset=utf-8;base64,aGVsbG8="
dataUriToBinary(將資料URI轉換為二進位)
傳回資料統一資源識別項 (URI) 的二進位版本。
使用此函式而非 decodeDataUri()。
雖然這兩個函數的運作方式相同,但是較常使用 dataUriBinary()。
dataUriToBinary('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的資料 URI |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 資料URI的二進制> | 字串 | 資料 URI 的二進位版本 |
範例
此範例會建立此資料 URI 的二進位版本:
dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
dataUriToString
傳回資料統一資源識別項 (URI) 的字串版本。
dataUriToString('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的資料 URI |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 資料字串> | 字串 | 資料 URI 的字串版本 |
範例
此範例會建立此資料 URI 的字串:
dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:"hello"
月份中的某天
傳回時間戳記中的當月日期。
dayOfMonth('<timestamp>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 月份中的某天> | 整數 | 在指定時間戳記中的當月日期 |
範例
此範例會傳回此時間戳記中的當月日期數字:
dayOfMonth('2018-03-15T13:27:36Z')
並傳回此結果:15
dayOfWeek
從時間戳記傳回當週的第幾天。
dayOfWeek('<timestamp>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 星期> | 整數 | 指定時間戳記所代表的星期幾,其中星期日是 0、星期一是 1,依此類推 |
範例
這個範例會從這個時間戳記中傳回星期幾的數字。
dayOfWeek('2018-03-15T13:27:36Z')
並傳回此結果:3
年中的某一天
從時間戳記返回一年中的哪一天。
dayOfYear('<timestamp>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 年中的日期> | 整數 | 從指定時間戳記得出那一年中的某一天 |
範例
此範例會傳回從這個時間戳記中算出的一年中的第幾天:
dayOfYear('2018-03-15T13:27:36Z')
並傳回此結果:74
decodeBase64
傳回 base64 編碼字串的字串版本,也就是有效地解碼 base64 字串。
請考慮使用 base64ToString(),而非 decodeBase64()。
雖然這兩個函數的運作方式相同,但是較常使用 base64ToString()。
decodeBase64('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要解碼的 base64 編碼字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 解碼基底64字串> | 字串 | base64 編碼的字串版本 |
範例
此範例會建立 base64 編碼的字串:
decodeBase64('aGVsbG8=')
並傳回此結果:"hello"
解碼資料URI
傳回資料統一資源識別項 (URI) 的二進位版本。
請考慮使用 dataUriToBinary(),而非 decodeDataUri()。
雖然這兩個函數的運作方式相同,但是較常使用 dataUriToBinary()。
decodeDataUri('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要解碼的資料 URI 字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 資料URI的二進制> | 字串 | 資料 URI 字串的二進位版本 |
範例
此範例會傳回此資料 URI 的二進位版本:
decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
decodeUriComponent
傳回以已解碼版本取代逸出字元的字串。
decodeUriComponent('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 需要解碼逃脫字元的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 解碼 uri> | 字串 | 更新後的字串,其中跳脫字元已被解碼 |
範例
此範例會以已解碼的版本取代此字串中的逸出字元:
decodeUriComponent('http%3A%2F%2Fcontoso.com')
並傳回此結果:"https://contoso.com"
div
傳回兩數相除的整數結果。 若要取得餘數,請參閱 mod()。
div(<dividend>, <divisor>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 股息> | Yes | 整數或浮點數 | 要除以除數的數字 |
| < 除數> | Yes | 整數或浮點數 | 除除數的數字,但不得為 0 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 商結果> | 整數 | 第一個數字除以第二個數字的整數結果 |
範例
這兩個範例會將第一個數字除以第二個數字:
div(10, 5)
div(11, 5)
並傳回此結果:2
encodeUriComponent
傳回字串的統一資源識別碼 (URI) 編碼版本,將 URL 不安全的字元替換成逸出字元。
請考慮使用 uriComponent(),而非 encodeUriComponent()。
雖然這兩個函數的運作方式相同,但是較常使用 uriComponent()。
encodeUriComponent('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換成 URI 編碼格式的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 編碼 URI> | 字串 | 具有逸出字元的 URI 編碼字串 |
範例
此範例會建立此字串的 URI 編碼版本:
encodeUriComponent('https://contoso.com')
並傳回此結果:"http%3A%2F%2Fcontoso.com"
empty
檢查集合是否是空的。 集合若是空的,傳回 True,或集合若不是空的,則傳回 False。
empty('<collection>')
empty([<collection>])
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 字串、陣列或物件 | 要檢查的集合 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 若集合是空的,傳回 True。 若不是空的,傳回 False。 |
範例
這些範例會檢查指定的集合是否是空的:
empty('')
empty('abc')
並傳回下列結果:
- 第一個範例:傳遞空字串,所以函數傳回
true。 - 第二個範例:傳遞 "abc" 字串,所以函數傳回
false。
結尾為
檢查字串是否以特定的子字串結束。 找到子字串時,傳回 True,或找不到子字串時,傳回 False。 此函式不會區分大小寫。
endsWith('<text>', '<searchText>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 要檢查的字串 |
| < 搜尋文字> | Yes | 字串 | 要尋找的結尾子字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 找到結尾子字串時,傳回 True。 找不到時,傳回 False。 |
範例 1
此範例會檢查 "hello world" 字串是否以 "world" 字串結尾:
endsWith('hello world', 'world')
並傳回此結果:true
範例 2
此範例會檢查 "hello world" 字串是否以 "universe" 字串結尾:
endsWith('hello world', 'universe')
並傳回此結果:false
等於
檢查兩個值、運算式或物件是否相等。 兩個項目相等時,傳回 True,或兩個項目不相等時,傳回 False。
equals('<object1>', '<object2>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 物件1>、 <物件2> | Yes | 各種 | 要比較的值、運算式或物件 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當兩個項目相等時,傳回 True。 當兩個項目不相等時,傳回 False。 |
範例
這些範例會檢查指定的輸入是否相等。
equals(true, 1)
equals('abc', 'abcd')
並傳回下列結果:
- 第一個範例:兩個值相等,所以函數傳回
true。 - 第二個範例:兩個值不相等,所以函式傳回
false。
第一
傳回字串或陣列中的第一個項目。
first('<collection>')
first([<collection>])
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 字串或陣列 | 尋找第一個項目的集合 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 第一個集合項目> | 任意 | 集合中的第一個項目 |
範例
這些範例會尋找以下集合中第一個項目:
first('hello')
first(createArray(0, 1, 2))
並傳回下列結果:
- 第一個範例:
"h" - 第二個範例:
0
float
將浮點數的字串版本轉換為實際浮點數。
float('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 具有有效浮點數要轉換的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 浮點值> | 浮動 | 所指定字串的浮點數 |
範例
此範例會建立此浮點數的字串版本:
float('10.333')
並傳回此結果:10.333
formatDateTime
傳回指定格式的時間戳記。
formatDateTime('<timestamp>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 重新格式化的時間戳記> | 字串 | 所指定格式的更新時間戳記 |
範例
此範例會將時間戳記轉換為指定格式:
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss')
並傳回此結果:"2018-03-15T12:00:00"
getFutureTime
傳回目前時間戳記加上指定時間單位的結果。
getFutureTime(<interval>, <timeUnit>, <format>?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 間> | Yes | 整數 | 要加入的指定時間單位數字 |
| < 時間單位> | Yes | 字串 | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 目前時間戳記加上指定的時間單位數字 |
範例 1
假設目前的時間戳記是 "2018-03-01T00:00:00.0000000Z"。 此範例會在時間戳記中加上 5 天:
getFutureTime(5, 'Day')
並傳回此結果:"2018-03-06T00:00:00.0000000Z"
範例 2
假設目前的時間戳記是 "2018-03-01T00:00:00.0000000Z"。 此範例會加上五天,並將結果轉換為 "D" 格式:
getFutureTime(5, 'Day', 'D')
並傳回此結果:"Tuesday, March 6, 2018"
獲取過去時間
傳回目前時間戳記減去指定時間單位的結果。
getPastTime(<interval>, <timeUnit>, <format>?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 間> | Yes | 整數 | 要減去的指定時間單位數字 |
| < 時間單位> | Yes | 字串 | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 目前時間戳記減去指定的時間單位數字 |
範例 1
假設目前的時間戳記是 "2018-02-01T00:00:00.0000000Z"。 此範例會從此時間戳記中減去五天:
getPastTime(5, 'Day')
並傳回此結果:"2018-01-27T00:00:00.0000000Z"
範例 2
假設目前的時間戳記是 "2018-02-01T00:00:00.0000000Z"。 此範例會減去五天,並將結果轉換為 "D" 格式:
getPastTime(5, 'Day', 'D')
並傳回此結果:"Saturday, January 27, 2018"
更大
檢查第一個值是否大於第二個值。 當第一個值較大時,返回 true;當第一個值較小時,返回 false。
greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 整數、浮點數或字串 | 檢查第一個值是否大於第二個值 |
| < 比較至> | Yes | 個別的整數、浮點數或字串 | 比較值 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當第一個值大於第二個值時,傳回 True。 當第一個值等於或小於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否大於第二個值:
greater(10, 5)
greater('apple', 'banana')
並傳回下列結果:
- 第一個範例:
true - 第二個範例:
false
greaterOrEquals
檢查第一個值是否大於或等於第二個值。 當第一個值較大或相等時,傳回 True,或當第一個值較小時,傳回 False。
greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 整數、浮點數或字串 | 檢查第一個值是否大於或等於第二個值 |
| < 比較至> | Yes | 個別的整數、浮點數或字串 | 比較值 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當第一個值大於或等於第二個值時,傳回 True。 當第一個值小於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否大於或等於第二個值:
greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')
並傳回下列結果:
- 第一個範例:
true - 第二個範例:
false
guid
以字串形式產生唯一識別碼 (GUID),例如 "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":
guid()
此外,除了預設格式 "D" (以連字號分隔的 32 個數字),您可以指定不同格式的 GUID。
guid('<format>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 格式> | 不 | 字串 | 針對所傳回的 GUID 的單一格式指定項。 預設格式為 "D",但您可以使用 "N"、"D"、"B"、"P" 或 "X"。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < GUID 值> | 字串 | 隨機產生的 GUID |
範例
此範例會產生相同 GUID,不過格式是 32 個以連字號分隔的數字,並以括號括住:
guid('P')
並傳回此結果:"(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"
如果
檢查表達式是正確或錯誤。 根據結果,傳回指定的值。
if(<expression>, <valueIfTrue>, <valueIfFalse>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 表達> | Yes | 布林值 | 要檢查的運算式 |
| < valueIfTrue> | Yes | 任意 | 運算式為 True 時要傳回的值 |
| < valueIfFalse> | Yes | 任意 | 運算式為 False 時要傳回的值 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 指定的返回值> | 任意 | 根據運算式為真或為假來傳回的值 |
範例
此範例會傳回 "yes",因為指定的運算式傳回 True。
否則,此範例會傳回 "no":
if(equals(1, 1), 'yes', 'no')
indexOf
傳回子字串的起始位置或索引值。 此函式不區分大小寫,而且索引以數字 0 開頭。
indexOf('<text>', '<searchText>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 包含要尋找子字串的字串 |
| < 搜尋文字> | Yes | 字串 | 要尋找的子字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 索引值> | 整數 | 所指定子字串的起始位置或索引值。 如果找不到該字串,傳回數字 -1。 |
範例
此範例會在 "hello world" 字串中,尋找 "world" 子字串的起始索引值:
indexOf('hello world', 'world')
並傳回此結果:6
int
傳回字串的整數版本。
int('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 整數結果> | 整數 | 所指定字串的整數版本 |
範例
此範例會建立字串 "10" 的整數版本:
int('10')
並傳回此結果:10
json
傳回字串或 XML 的 JavaScript 物件標記法 (JSON) 類型值或物件。
json('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串或 XML | 要轉換的字串或 XML |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < JSON 結果> | JSON 原生類型或物件 | 所指定字串或 XML 的 JSON 原生類型值或物件。 如果字串為 Null,函式會傳回空物件。 |
範例 1
此範例會將此字串轉換為 JSON 值:
json('[1, 2, 3]')
並傳回此結果:[1, 2, 3]
範例 2
此範例會將此字串轉換為 JSON:
json('{"fullName": "Sophia Owen"}')
並傳回此結果:
{
"fullName": "Sophia Owen"
}
範例 3
此範例會將此 XML 轉換為 JSON:
json(xml('<?xml version="1.0"?> <root> <person id='1'> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))
並傳回此結果:
{
"?xml": { "@version": "1.0" },
"root": {
"person": [ {
"@id": "1",
"name": "Sophia Owen",
"occupation": "Engineer"
} ]
}
}
交集
傳回一個集合,其中僅包括指定的多個集合中共同的項目。 項目若要出現在結果中,必須出現在所有傳遞至此函式的集合中。 如果一個或多個項目有相同的名稱,則具有該名稱的最後一個項目會出現在結果中。
intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合1>、 <集合2>、... | Yes | 陣列或物件,但不可以兩者並存 | 您想要其中「只有」共同項目的集合 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 常見項目> | 陣列或物件 | 在指定的多個集合中只有共同項目的集合 |
範例
此範例會從以下陣列中找出共同項目:
intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))
傳回僅包含這些項目的陣列:
加入
傳回具有陣列中所有項目的字串,並以「分隔符號」將每個字元隔開。
join([<collection>], '<delimiter>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 陣列 | 包含要聯結項目的陣列 |
| < 分隔符號> | Yes | 字串 | 分隔符號會出現在結果字串的每個字元之間。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 字符1><分隔符號><char2><分隔符號>... | 字串 | 從指定陣列中所有項目建立的結果字串 |
範例
此範例會從此陣列中所有項目建立字串,並以指定字元作為分隔符號:
join(createArray('a', 'b', 'c'), '.')
並傳回此結果:"a.b.c"
最後的
傳回集合中的最後一個項目。
last('<collection>')
last([<collection>])
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 字串或陣列 | 尋找最後一個項目的集合 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 最後一個收集項目> | 分別為字串或陣列 | 集合中的最後一個項目 |
範例
這些範例會尋找以下集合中最後一個項目:
last('abcd')
last(createArray(0, 1, 2, 3))
並傳回下列結果:
- 第一個範例:
"d" - 第二個範例:
3
lastIndexOf
傳回子字串最後一次出現的起始位置或索引值。 此函式不區分大小寫,而且索引以數字 0 開頭。
lastIndexOf('<text>', '<searchText>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 包含要尋找子字串的字串 |
| < 搜尋文字> | Yes | 字串 | 要尋找的子字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 結束索引值> | 整數 | 指定的子字串最後一次出現的起始位置或索引值。 如果找不到該字串,傳回數字 -1。 |
範例
此範例會在 "hello world" 字串中,尋找 "world" 子字串最後一次出現的起始索引值:
lastIndexOf('hello world', 'world')
並傳回此結果:6
長度
傳回集合中的項目數目。
length('<collection>')
length([<collection>])
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 字串或陣列 | 要計算項目數的集合 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 長度或數量> | 整數 | 集合中的項目數目 |
範例
這些範例會計算以下集合中的項目數:
length('abcd')
length(createArray(0, 1, 2, 3))
並傳回此結果:4
較少的
檢查第一個值是否小於第二個值。 當第一個值較小時,傳回 True,或當第一個值較大時,傳回 False。
less(<value>, <compareTo>)
less('<value>', '<compareTo>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 整數、浮點數或字串 | 檢查第一個值是否小於第二個值。 |
| < 比較至> | Yes | 個別的整數、浮點數或字串 | 比較項目 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當第一個值小於第二個值時,傳回 True。 當第一個值等於或大於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否小於第二個值。
less(5, 10)
less('banana', 'apple')
並傳回下列結果:
- 第一個範例:
true - 第二個範例:
false
小於或等於
檢查第一個值是否小於或等於第二個值。 當第一個值較小或相等時,傳回 True,或當第一個值較大時,傳回 False。
lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 整數、浮點數或字串 | 首先檢查第一個值是否小於或等於第二個值 |
| < 比較至> | Yes | 個別的整數、浮點數或字串 | 比較項目 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當第一個值小於或等於第二個值時,傳回 True。 當第一個值大於第二個值時,傳回 False。 |
範例
以下範例會檢查第一個值是否小於或等於第二個值。
lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')
並傳回下列結果:
- 第一個範例:
true - 第二個範例:
false
最大
從具有數字的清單或陣列中傳回最大值 (包含首尾兩端的值)。
max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 數字 1>、 <數字 2>、...... | Yes | 整數、浮點數或兩者並存 | 您需要其中最大值的數字集合 |
| [<數字 1>, <數字 2>,...] | Yes | 陣列 - 整數、浮點數或兩者並存 | 您需要其中最大值的數字陣列 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 最大值> | 整數或浮點數 | 所指定陣列或數字集合中的最大值 |
範例
這些範例會從數字集合和陣列中取得最大值:
max(1, 2, 3)
max(createArray(1, 2, 3))
並傳回此結果:3
分鐘
從數字集合或陣列中傳回最小值。
min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 數字 1>、 <數字 2>、...... | Yes | 整數、浮點數或兩者並存 | 您需要其中最小值的數字集合 |
| [<數字 1>, <數字 2>,...] | Yes | 陣列 - 整數、浮點數或兩者並存 | 您需要其中最小值的數字陣列 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 最小值> | 整數或浮點數 | 所指定數字集合或陣列中的最小值 |
範例
這些範例會取得數字集合和陣列中的最小值:
min(1, 2, 3)
min(createArray(1, 2, 3))
並傳回此結果:1
mod
傳回兩數相除的餘數。 若要取得整數結果,請參閱 div()。
mod(<dividend>, <divisor>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 股息> | Yes | 整數或浮點數 | 要除以除數的數字 |
| < 除數> | Yes | 整數或浮點數 | 用來除被除數的數,但不得為 0。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 模結果> | 整數或浮點數 | 第一個數字除以第二個數字的餘數 |
範例
此範例會將第一個數字除以第二個數字:
mod(3, 2)
並傳回此結果:1
mul
傳回兩數相乘的結果。
mul(<multiplicand1>, <multiplicand2>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 乘法1> | Yes | 整數或浮點數 | 要與「被乘數 2」 相乘的數字 |
| < 乘法2> | Yes | 整數或浮點數 | 與「被乘數 1」相乘的數 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 產品結果> | 整數或浮點數 | 第一個數字與第二個數字相乘的乘積 |
範例
這些範例會將第一個數字與第二個數字相乘:
mul(1, 2)
mul(1.5, 2)
並傳回下列結果:
- 第一個範例:
2 - 第二個範例:
3
不
檢查運算式是否為 False。 當運算式為 False 時,返回 True;當運算式為 True 時,返回 False。
not(<expression>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 表達> | Yes | 布林值 | 要檢查的運算式 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當運算式為假時,傳回真。 當運算式為 true 時,傳回 false。 |
範例 1
這些範例會檢查指定的運算式是否為虛假。
not(false)
not(true)
並傳回下列結果:
- 第一個範例:運算式為 False,所以函數傳回
true。 - 第一個範例:運算式為 True,所以函數傳回
false。
範例 2
這些範例會檢查指定的運算式是否為虛假。
not(equals(1, 2))
not(equals(1, 1))
並傳回下列結果:
- 第一個範例:運算式為 False,所以函數傳回
true。 - 第一個範例:運算式為 True,所以函數傳回
false。
或
檢查是否至少有一個運算式為真。 至少有一個運算式是 True 時,傳回 True,或所有運算式都是 False 時,傳回 False。
or(<expression1>, <expression2>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 運算式1>、 <運算式2> | Yes | 布林值 | 要檢查的表達式 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 當至少有一個表達式為 true 時,返回 true。 當兩個運算式都是 False 時,返回 False。 |
範例 1
這些範例會檢查是否至少有一個表達式為真:
or(true, false)
or(false, false)
並傳回下列結果:
- 第一個範例:至少有一個運算式為 True,所以函數傳回
true。 - 第二個範例:兩個運算式都是 False,所以函式傳回
false。
範例 2
這些範例會檢查是否至少有一個表達式為真:
or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))
並傳回下列結果:
- 第一個範例:至少有一個運算式為 True,所以函數傳回
true。 - 第二個範例:兩個運算式都是 False,所以函式傳回
false。
rand
從指定範圍中傳回一個隨機整數,範圍只包含起始端的數字。
rand(<minValue>, <maxValue>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 最小值> | Yes | 整數 | 範圍中的最小整數 |
| < 最大值> | Yes | 整數 | 函式所能傳回的範圍最大整數的下一個整數 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 隨機結果> | 整數 | 從指定範圍傳回的隨機整數 |
範例
此範例會從指定範圍取得隨機整數,但不包含最大值:
rand(1, 5)
並傳回這些數字的其中一個作為結果:1、2、3 或 4
範圍
傳回從指定整數開始的整數陣列。
range(<startIndex>, <count>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 開始索引> | Yes | 整數 | 作為第一個項目起始陣列的整數值 |
| < 計數> | Yes | 整數 | 陣列中的整數數量 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| [<範圍結果>] | 陣列 | 從指定索引開始的整數陣列 |
範例
此範例會建立從指定索引開始的整數陣列,且其中有指定數量的整數:
range(1, 4)
並傳回此結果:[1, 2, 3, 4]
取代
使用指定字串取代子字串,並傳回結果字串。 此函式會區分大小寫。
replace('<text>', '<oldText>', '<newText>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 有子字串要取代的字串 |
| < 舊文本> | Yes | 字串 | 要取代的子字串 |
| < 新文本> | Yes | 字串 | 取代字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 更新文字> | 字串 | 取代子字串後的更新字串 如果找不到子字串,則傳回原始字串。 |
範例
此範例會在 "the old string" 中找到 "old" 字串,並將其替換為 "new"。
replace('the old string', 'old', 'new')
並傳回此結果:"the new string"
略過
移除集合前端的項目,並傳回「其他所有」項目。
skip([<collection>], <count>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 陣列 | 您想要從中移除項目的集合 |
| < 計數> | Yes | 整數 | 正整數,用於指定要從前端移除的項目數量 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| [<更新收藏>] | 陣列 | 移除指定項目之後的更新集合 |
範例
此範例會從指定陣列的前端移除一個項目,也就是數字 0:
skip(createArray(0, 1, 2, 3), 1)
並傳回具有剩餘項目的此陣列:[1,2,3]
分割
根據原始字串中指定的分隔符號字元,傳回包含以逗號分隔之子字串的陣列。
split('<text>', '<delimiter>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 根據原始字串中指定的分隔符號來分隔成子字串的字串 |
| < 分隔符號> | Yes | 字串 | 做為分隔符號的原始字串中的字元 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| [<子字串1>,<子字串2>,...] | 陣列 | 包含原始字串中子字串的陣列,以逗號分隔 |
範例
此範例建立陣列時,會以指定的字元作為分隔符號,使用來自指定字串的子字串:
split('a_b_c', '_')
並傳回此陣列作為結果:["a","b","c"]
一天的開始
傳回時間戳記中當天的起始點。
startOfDay('<timestamp>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 指定的時間戳記,但以當天的零小時標記開始 |
範例
此範例會尋找此時間戳記中當天的起始點:
startOfDay('2018-03-15T13:30:30Z')
並傳回此結果:"2018-03-15T00:00:00.0000000Z"
小時起始
返回一個時間戳記的小時起始點。
startOfHour('<timestamp>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 指定的時間戳記,但以小時的零分鐘標記開始 |
範例
此範例會尋找此時間戳記中小時的起始點:
startOfHour('2018-03-15T13:30:30Z')
並傳回此結果:"2018-03-15T13:00:00.0000000Z"
startOfMonth
傳回時間戳記中月份的起始點。
startOfMonth('<timestamp>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 指定的時間戳記,但以當月第一天的零小時標記開始 |
範例
此範例會傳回此時間戳記中月份的起始點:
startOfMonth('2018-03-15T13:30:30Z')
並傳回此結果:"2018-03-01T00:00:00.0000000Z"
以...开头
檢查字串是否以特定的子字串開始。 找到子字串時,傳回 True,或找不到子字串時,傳回 False。 此函式不會區分大小寫。
startsWith('<text>', '<searchText>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 要檢查的字串 |
| < 搜尋文字> | Yes | 字串 | 要尋找的起始字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| 真或假 | 布林值 | 找到起始子字串時,傳回 True。 找不到時,傳回 False。 |
範例 1
此範例會檢查 "hello world" 字串是否以 "hello" 子字串開始:
startsWith('hello world', 'hello')
並傳回此結果:true
範例 2
此範例會檢查 "hello world" 字串是否以 "greetings" 子字串開始:
startsWith('hello world', 'greetings')
並傳回此結果:false
字串
傳回值的字串版本。
string(<value>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 任意 | 要轉換的值 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 字串值> | 字串 | 指定值的字串版本 |
範例 1
此範例會建立此數字的字串版本:
string(10)
並傳回此結果:"10"
範例 2
此範例會為指定的 JSON 物件建立字串,並使用反斜線字元 (\) 做為雙引號 (") 的逸出字元。
string( { "name": "Sophie Owen" } )
並傳回此結果:"{ \\"name\\": \\"Sophie Owen\\" }"
sub
傳回第一個數字減去第二個數字的結果。
sub(<minuend>, <subtrahend>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 減值> | Yes | 整數或浮點數 | 要從中減去「減數」的數字 |
| < 減數> | Yes | 整數或浮點數 | 從「減數」中要減去的數字 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 結果> | 整數或浮點數 | 從第一個數字減去第二個數字的結果 |
範例
此範例會從第一個數字減去第二個數字:
sub(10.3, .3)
並傳回此結果:10
substring
從字串中傳回字元,從指定的位置或索引開始。 索引值會以數字 0 開頭。
substring('<text>', <startIndex>, <length>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 您需要其中字元的字串 |
| < 開始索引> | Yes | 整數 | 等於或大於 0 的正數,作為起始位置或索引值 |
| < 長度> | Yes | 整數 | 您希望在子字串中具有的正的字元數量 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 子字串結果> | 字串 | 具有指定字元數目的子字串,並以來源字串中的指定索引位置起始 |
範例
此範例會從指定字串建立 5 個字元的子字串,並且從索引值 6 起始:
substring('hello world', 6, 5)
並傳回此結果:"world"
subtractFromTime
從時間戳減去一定數量的時間單位。 另請參閱 getPastTime。
subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 包含時間戳記的字串 |
| < 間> | Yes | 整數 | 要減去的指定時間單位數字 |
| < 時間單位> | Yes | 字串 | 與 interval 搭配使用的時間單位:"Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"、"Year" |
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < updated-timestamp> | 字串 | 時間戳記減去指定的時間單位數字 |
範例 1
此範例會從此時間戳記中減去一天:
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')
並傳回此結果:"2018-01-01T00:00:00:0000000Z"
範例 2
此範例會從此時間戳記中減去一天:
subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')
並傳回選用 "D" 格式的此結果:"Monday, January, 1, 2018"
拿
傳回集合中的前端項目。
take('<collection>', <count>)
take([<collection>], <count>)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合> | Yes | 字串或陣列 | 您想要集合中的項目 |
| < 計數> | Yes | 整數 | 正整數,表示您需要的前端項目數量 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 子集>或 [<子集>] | 分別為字串或陣列 | 從原始集合前端取得指定項目數量的字串或陣列 |
範例
此範例會從這些集合的前端取得指定數目的項目:
take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)
並傳回下列結果:
- 第一個範例:
"abc" - 第二個範例:
[0, 1, 2]
蜱蟲
傳回指定時間戳記的 ticks 屬性值。
一「刻度」是 100 奈秒的間隔。
ticks('<timestamp>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 時間戳記> | Yes | 字串 | 時間戳記的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 刻度數字> | 整數 | 在輸入時間戳記後,自西曆 0001 年 1 月 1 日午夜 12:00:00 起經過的刻度數 |
toLower
傳回小寫格式的字串。 如果字串中的字元沒有小寫版本,則該字元在傳回的字串中會保持不變。
toLower('<text>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 要以小寫格式傳回的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 小寫文字> | 字串 | 小寫格式的原始字串 |
範例
此範例會將此字串轉換為小寫:
toLower('Hello World')
並傳回此結果:"hello world"
toUpper
傳回大寫格式的字串。 如果字串中的字元沒有大寫版本,則該字元在傳回的字串中會保持不變。
toUpper('<text>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 要以大寫格式傳回的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 大寫文字> | 字串 | 大寫格式的原始字串 |
範例
此範例會將此字串轉換為大寫:
toUpper('Hello World')
並傳回此結果:"HELLO WORLD"
修剪
移除字串的開頭和尾端空白字元,並傳回更新後的字串。
trim('<text>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 簡訊> | Yes | 字串 | 需要去除開頭和尾端空白字元的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 更新文本> | 字串 | 不含開頭或尾端空白字元的原始字串更新版本 |
範例
此範例會從「Hello World」字串中移除開頭與結尾空白字元:
trim(' Hello World ')
並傳回此結果:"Hello World"
union
傳回具有指定集合中「所有」項目的集合。 出現在結果中的項目,可以出現在任何傳遞至此函式的集合中。 如果一個或多個項目有相同的名稱,則具有該名稱的最後一個項目會出現在結果中。
union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 集合1>、 <集合2>、... | Yes | 陣列或物件,但不可以兩者並存 | 您希望從這個集合中獲取「所有」項目 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 更新後的集合> | 陣列或物件 | 具有指定集合中所有項目的集合 - 不含重複值 |
範例
此範例會從以下集合取得「所有」項目:
union(createArray(1, 2, 3), createArray(1, 2, 10, 101))
並傳回此結果:[1, 2, 3, 10, 101]
URI 元件
傳回字串的統一資源識別碼 (URI) 編碼版本,將 URL 不安全的字元替換成逸出字元。
使用此函式而非 encodeUriComponent()。
雖然這兩個函數的運作方式相同,但是較常使用 uriComponent()。
uriComponent('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換成 URI 編碼格式的字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 編碼 URI> | 字串 | 具有逸出字元的 URI 編碼字串 |
範例
此範例會建立此字串的 URI 編碼版本:
uriComponent('https://contoso.com')
並傳回此結果:"http%3A%2F%2Fcontoso.com"
uriComponentToBinary
傳回統一資源識別項 (URI) 元件的二進位版本。
uriComponentToBinary('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要轉換的 URI 編碼字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 二進位編碼 URI> | 字串 | URI 編碼字串的二進位版本。 二進位內容是以 base64 編碼,而且由 $content 表示。 |
範例
此範例會建立此 URI 編碼字串的二進位版本:
uriComponentToBinary('http%3A%2F%2Fcontoso.com')
並傳回此結果:
"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"
uriComponentToString (URI 組件轉為字符串)
傳回統一資源識別項 (URI) 編碼字串的字串版本,也就是有效地解碼 URI 編碼字串。
uriComponentToString('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 要解碼的 URI 編碼字串 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 解碼 uri> | 字串 | URI 編碼字串的已解碼版本 |
範例
此範例會建立此 URI 編碼字串的已解碼字串版本:
uriComponentToString('http%3A%2F%2Fcontoso.com')
並傳回此結果:"https://contoso.com"
utcNow
傳回目前的時間戳記。
utcNow('<format>')
您可以選擇性地以 <format> 參數指定不同格式。
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 格式> | 不 | 字串 | 單一格式規範或自訂格式模式。 時間戳記的預設格式為 "o" (yyyy-MM-ddTHH:mm:ss:fffffffK),其符合 ISO 8601 並保留時區資訊。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < 目前時間戳記> | 字串 | 目前的日期和時間 |
範例 1
假設今天是 2018 年 4 月 15 日下午 1:00:00。 此範例會取得目前的時間戳記:
utcNow()
並傳回此結果:"2018-04-15T13:00:00.0000000Z"
範例 2
假設今天是 2018 年 4 月 15 日下午 1:00:00。 此範例會使用選擇性的 "D" 格式取得目前時間戳記:
utcNow('D')
並傳回此結果:"Sunday, April 15, 2018"
xml
傳回包含 JSON 物件的 XML 版字串。
xml('<value>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < 價> | Yes | 字串 | 包含 JSON 物件以供轉換的字串 JSON 物件必須只能有一個根屬性,且不可以是陣列。 使用反斜線字元 (\) 做為雙引號 (") 的逸出字元。 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < xml 版本> | 物件 | 所指定字串或 JSON 物件的編碼 XML |
範例 1
此範例會為包含 JSON 物件的此字串建立 XML 版本:
xml(json('{ \"name\": \"Sophia Owen\" }'))
並傳回此結果 XML:
<name>Sophia Owen</name>
範例 2
假設您有此 JSON 物件:
{
"person": {
"name": "Sophia Owen",
"city": "Seattle"
}
}
此範例會為包含此 JSON 物件的字串建立 XML:
xml(json('{\"person\": {\"name\": \"Sophia Owen\", \"city\": \"Seattle\"}}'))
並傳回此結果 XML:
<person>
<name>Sophia Owen</name>
<city>Seattle</city>
<person>
xpath
檢查 XML 中是否有符合 XPath (XML 路徑語言) 運算式的節點或值,並傳回符合的節點或值。 XPath 運算式 (或 "XPath") 可協助您瀏覽 XML 文件結構,讓您可以在 XML 內容中選取節點或計算值。
xpath('<xml>', '<xpath>')
| 參數 | 必須 | 類型 | 描述 |
|---|---|---|---|
| < xml> | Yes | 任意 | 用於搜尋符合 XPath 運算式之值或節點的 XML 字串。 |
| < x路徑> | Yes | 任意 | 用來尋找相符 XML 節點或值的 XPath 運算式 |
| 傳回值 | 類型 | 描述 |
|---|---|---|
| < xml 節點> | XML | 當且僅當單一節點符合指定的 XPath 表達式時,返回的是一個 XML 節點。 |
| < 價> | 任意 | 當只有單一值符合指定的 XPath 運算式時,返回相應的 XML 節點值 |
| [<xml-節點1>, <xml-node2>, ...] -或- [<值1>, <值2>, ...] |
陣列 | 陣列,其中有符合指定 XPath 運算式的 XML 節點或值 |
範例 1
以範例 1 為基礎,此範例會尋找符合 <count></count> 節點的節點,並使用 sum() 函式將這些節點值相加:
xpath(xml(parameters('items')), 'sum(/produce/item/count)')
並傳回此結果:30
範例 2
在此範例中,有兩個運算式會在指定的引數中 (其中包含具有命名空間的 XML) 尋找符合 <location></location> 節點的節點。 此運算式使用反斜線字元 (\) 作為雙引號 (") 的逸出字元。
運算式 1
xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')表達式 2
xpath(xml(body('Http')), '/*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]')
以下是引數:
包含 XML 文件命名空間的此 XML
xmlns="http://contoso.com":<?xml version="1.0"?> <file xmlns="http://contoso.com"> <location>Paris</location> </file>您可以選擇此處的其中一個 XPath 運算式:
/*[name()=\"file\"]/*[name()=\"location\"]/*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]
以下是符合 <location></location> 節點的結果節點:
<location xmlns="https://contoso.com">Paris</location>
範例 3
以範例 3 為基礎,此範例會尋找 <location></location> 節點中的值:
xpath(xml(body('Http')), 'string(/*[name()=\"file\"]/*[name()=\"location\"])')
並傳回此結果:"Paris"
注意
可以將註解新增至資料流程運算式,但無法在管道運算式中新增。
相關內容
如需一般參數使用方式的指示,請參閱 Fabric 中 Data Factory 的參數