Microsoft Fabric 中 Data Factory 的運算式和函式
本文提供 Microsoft Fabric 中 Data Factory 所支援之表達式和函式的詳細數據。
運算式
定義中的表達式值可以是在運行時間評估的常值或表達式。 例如:
"value"
或
"@pipeline().parameters.password"
表達式可以出現在字串值中的任何位置,而且一律會產生另一個字元串值。 如果值是表達式,則會藉由移除 at-sign (@) 來擷取表達式的主體。 如果需要以 @开头的常值字符串,則必須使用 @@逸出它。 下列範例示範如何評估表達式。
表達式值 | 結果 |
---|---|
“parameters” | 傳回 'parameters' 字元。 |
“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],在第一個反覆運算中傳回 1, @item() 第二個反覆運算中傳回 2,在第三個反覆運算中傳回 3。 您也可以使用 @range(0,10) like 運算式來反覆運算 10 次,開頭為 0 結尾為 9。
您可以使用 @activity(「活動名稱」來擷取活動的輸出並做出決策。 請考慮名為 Web1 的 Web 活動。 為了將第一個活動的輸出放在第二個活動的主體中,表達式通常會看起來像: @activity(『Web1』)。output 或 @activity(『Web1』)。output.data 或類似的內容,視第一個活動的輸出結果而定。
範例
複雜表達式範例
下列範例顯示參考活動輸出深度子欄位的複雜範例。 若要參考評估為子欄位的管線參數,請使用 [] 語法,而不是 dot(.) 運算符(例如 subfield1 和 subfield2),做為活動輸出的一部分。
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
以動態方式建立檔案並將其命名為常見模式。 讓我們探索一些動態檔案命名範例。
- 將日期附加至檔案名稱:
@concat('Test_', formatDateTime(utcnow(), 'yyyy-dd-MM'))
- 在客戶時區中附加 DateTime:
@concat('Test_', convertFromUtc(utcnow(), 'Pacific Standard Time'))
- 附加觸發程式時間:
@concat('Test_', pipeline().TriggerTime)
- 輸出至具有日期的單一檔案時,在對應資料流中輸出自定義檔名:
'Test_' + toString(currentDate()) + '.csv'
在上述情況下,會從 Test_ 開始建立四個動態檔名。
動態內容編輯器
當您完成編輯時,動態內容編輯器會自動逸出內容中的字元。 例如,內容編輯器中的下列內容是具有表達式函式的字串插補。
"@{toUpper('myData')}"
動態內容編輯器會將上述內容轉換成表示式 "@{toUpper('myData')}"
。 此表達式的結果是如下所示的格式化字串。
"MYDATA"
取代特殊字元
動態內容編輯器會在完成編輯時,自動逸出內容中的字元,例如雙引號、反斜杠。 如果您想要使用 \n, \t 取代換行字元或 Tab,請在 replace() 函式中造成問題。 您可以在程式代碼檢視中編輯動態內容,以移除運算式中的額外 \,或者您可以遵循下列步驟,使用表示式語言取代特殊字元:
- 針對原始字串值的 URL 編碼
- 取代 URL 編碼字串,例如換行字元 (%0A)、歸位字元(%0D)、水平製表元(%09)。
- URL 譯碼
例如,變數 companyName 其值中有換行符,expression @uriComponentToString(replace(uriComponent(variables('companyName')), '%0A', ''))
可以移除換行符。
Contoso-
Corporation
逸出單引號字元
表達式函式會針對字串值參數使用單引號。 使用兩個 '
單引號來逸出字串函式中的字元。 例如,expression @concat('Baba', '''s ', 'book store')
會傳回下列結果。
Baba's book store
管線範圍變數
這些系統變數可以在管線中的任何位置參考。
變數名稱 | 描述 |
---|---|
@pipeline().DataFactory | 管線執行中執行的數據或 Synapse 工作區名稱 |
@pipeline().Pipeline | 管線名稱 |
@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
。
函式
您可以在表示式內呼叫函式。 下列各節提供可在表達式中使用的函式相關信息。
日期函式
日期或時間函式 | Task |
---|---|
addDays | 將天數新增至時間戳。 |
addHours | 將小時數新增至時間戳。 |
addMinutes | 將分鐘數新增至時間戳。 |
addSeconds | 將秒數新增至時間戳。 |
addToTime | 將一些時間單位新增至時間戳。 另 請參閱 getFutureTime。 |
convertFromUtc | 將時間戳從通用時間協調 (UTC) 轉換為目標時區。 |
convertTimeZone | 將時間戳從來源時區轉換為目標時區。 |
convertToUtc | 將時間戳從來源時區轉換為通用時間國際標準時間(UTC)。 |
dayOfMonth | 從時間戳傳回月份元件的日期。 |
dayOfWeek | 從時間戳傳回星期幾元件。 |
dayOfYear | 從時間戳傳回年份元件的日期。 |
formatDateTime | 以選擇性格式傳回時間戳作為字串。 |
getFutureTime | 傳回目前的時間戳加上指定的時間單位。 另 請參閱 addToTime。 |
getPastTime | 傳回目前的時間戳減去指定的時間單位。 另 請參閱減去FromTime。 |
startOfDay | 傳回時間戳的當天開始時間。 |
startOfHour | 傳回時間戳的小時開始。 |
startOfMonth | 傳回時間戳的月份開始。 |
subtractFromTime | 從時間戳減去一些時間單位。 另 請參閱 getPastTime。 |
蜱 | ticks 傳回指定時間戳的屬性值。 |
utcNow | 以字串的形式傳回目前的時間戳。 |
字串函數
若要使用字串,您可以使用這些字串函式和一些 集合函式。 字串函式僅適用於字串。
字串函數 | Task |
---|---|
concat | 結合兩個或多個字串,並傳回合並的字串。 |
endsWith | 檢查字串是否以指定的子字串結尾。 |
guid | 產生全域唯一標識碼 (GUID) 作為字串。 |
indexOf | 傳回子字串的起始位置。 |
lastIndexOf | 傳回子字串最後一次出現的開始位置。 |
replace | 以指定的字串取代子字串,並傳回更新的字串。 |
split | 根據原始字串中指定的分隔符,傳回包含以逗號分隔的子字串數位。 |
startsWith | 檢查字串是否以特定子字串開頭。 |
子 | 從指定的位置開始,從字串傳回字元。 |
toLower | 以小寫格式傳回字串。 |
toUpper | 以大寫格式傳回字串。 |
修剪 | 從字串中移除開頭和尾端空格符,並傳回更新的字串。 |
集合函數
若要使用集合,一般是數位、字串,有時是字典,您可以使用這些集合函式。
集合函式 | Task |
---|---|
contains | 檢查集合是否有特定專案。 |
empty | 檢查集合是否為空白。 |
first | 從集合傳回第一個專案。 |
交叉口 | 傳回集合,該集合只具有指定集合中的一般專案。 |
join | 傳回字串,其中包含 數位中的所有 專案,並以指定的字元分隔。 |
last | 從集合傳回最後一個專案。 |
length | 傳回字串或陣列中的項目數。 |
跳 | 從集合前面移除專案,並傳回 所有其他 專案。 |
take | 傳回集合前端的專案。 |
union | 傳回具有 指定集合中所有 專案的集合。 |
邏輯函式
這些函式在條件內很有用,可用來評估任何類型的邏輯。
邏輯比較函式 | Task |
---|---|
and | 檢查所有表達式是否為 true。 |
equals | 檢查這兩個值是否相等。 |
greater | 檢查第一個值是否大於第二個值。 |
greaterOrEquals | 檢查第一個值是否大於或等於第二個值。 |
if | 檢查表達式是否為 true 或 false。 根據結果,傳回指定的值。 |
less | 檢查第一個值是否小於第二個值。 |
lessOrEquals | 檢查第一個值是否小於或等於第二個值。 |
not | 檢查表達式是否為 false。 |
or | 檢查是否至少有一個表達式為 true。 |
轉換函數
這些函式可用來在語言中的每個原生類型之間進行轉換:
- string
- 整數
- float
- boolean
- 陣 列
- 字典
轉換函式 | Task |
---|---|
array | 從單一指定的輸入傳回數位。 如需多個輸入,請參閱 createArray。 |
base64 | 傳回字串的base64編碼版本。 |
base64ToBinary | 傳回base64編碼字串的二進位版本。 |
base64ToString | 傳回base64編碼字串的字串版本。 |
binary | 傳回輸入值的二進位版本。 |
bool | 傳回輸入值的布爾值版本。 |
合併 | 從一或多個參數傳回第一個非 Null 值。 |
createArray | 從多個輸入傳回陣列。 |
dataUri | 傳回輸入值的數據 URI。 |
dataUriToBinary | 傳回數據 URI 的二進位版本。 |
dataUriToString | 傳回數據 URI 的字串版本。 |
decodeBase64 | 傳回base64編碼字串的字串版本。 |
decodeDataUri | 傳回數據 URI 的二進位版本。 |
decodeUriComponent | 傳回字串,以譯碼版本取代逸出字元。 |
encodeUriComponent | 傳回字串,以逸出字元取代 URL 不安全字元。 |
float | 傳回輸入值的浮點數。 |
int | 傳回字串的整數版本。 |
string | 傳回輸入值的字串版本。 |
uriComponent | 將 URL 不安全字元取代為逸出字元,以傳回輸入值的 URI 編碼版本。 |
uriComponentToBinary | 傳回 URI 編碼字串的二進位版本。 |
uriComponentToString | 傳回 URI 編碼字串的字串版本。 |
xml | 傳回字串的 XML 版本。 |
Xpath | 檢查 XML 是否有符合 XPath (XML 路徑語言) 表示式的節點或值,並傳回相符的節點或值。 |
數學函數
這些函式可用於任一類型的數位: 整數 和 浮點數。
數學函式 | Task |
---|---|
add | 傳回加兩個數字的結果。 |
div | 傳回除兩個數字的結果。 |
max | 從一組數位或陣列傳回最高值。 |
min | 從一組數位或陣列傳回最小值。 |
國防部 | 傳回除兩個數位的餘數。 |
mul | 傳回乘兩個數字的產品。 |
rand | 從指定的範圍傳回隨機整數。 |
range | 傳回從指定整數開始的整數數位。 |
子 | 傳回從第一個數字減去第二個數字的結果。 |
函式參考
本節會依字母順序列出所有可用的函式。
add
傳回加兩個數字的結果。
add(<summand_1>, <summand_2>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<summand_1,summand_2><> | Yes | 整數、浮點數或混合 | 要加入的數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<result-sum> | 整數或浮點數 | 加入指定數字的結果 |
範例
本範例會新增指定的數位:
add(1, 1.5)
並傳回此結果: 2.5
addDays
將天數新增至時間戳。
addDays('<timestamp>', <days>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<天> | Yes | 整數 | 要加入的正數或負數天數 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳加上指定的天數 |
範例 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
將小時數新增至時間戳。
addHours('<timestamp>', <hours>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<小時> | Yes | 整數 | 要加入的正時數或負數 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳加上指定的時數 |
範例 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>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<分鐘> | Yes | 整數 | 要加入的正數或負數分鐘數 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳加上指定的分鐘數 |
範例 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
將秒數新增至時間戳。
addSeconds('<timestamp>', <seconds>, '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<seconds> | Yes | 整數 | 要加入的正秒數或負數 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳加上指定的秒數 |
範例 1
此範例會將 10 秒新增至指定的時間戳:
addSeconds('2018-03-15T00:00:00Z', 10)
並傳回此結果: "2018-03-15T00:00:10.0000000Z"
範例 2
本範例會將五秒減去指定的時間戳:
addSeconds('2018-03-15T00:00:30Z', -5)
並傳回此結果: "2018-03-15T00:00:25.0000000Z"
addToTime
將一些時間單位新增至時間戳。 另 請參閱 getFutureTime()。
addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<區間> | Yes | 整數 | 要加入的指定時間單位數目 |
<timeUnit> | Yes | String | 要搭配 間隔使用的時間單位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳加上指定的時間單位數目 |
範例 1
本範例會將一天新增至指定的時間戳:
addToTime('2018-01-01T00:00:00Z', 1, 'Day')
並傳回此結果: "2018-01-02T00:00:00.0000000Z"
範例 2
本範例會將一天新增至指定的時間戳:
addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')
並使用選擇性的 「D」 格式傳回結果: "Tuesday, January 2, 2018"
及
檢查這兩個表達式是否為 true。 當兩個表達式都為 true 時傳回 true,或至少一個運算式為 false 時傳回 false。
and(<expression1>, <expression2>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression1>, <expression2> | Yes | 布林值 | 要檢查的表達式 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當兩個表達式都為 true 時,傳回 true。 當至少有一個表達式為 false 時,傳回 false。 |
範例 1
這些範例會檢查指定的布爾值是否為 true:
and(true, true)
and(false, true)
and(false, false)
並傳回下列結果:
- 第一個範例:這兩個表達式都是 true,因此會傳
true
回 。 - 第二個範例:一個運算式為 false,因此會傳
false
回 。 - 第三個範例:這兩個表達式都是 false,因此會傳
false
回 。
範例 2
這些範例會檢查指定的表達式是否都是 true:
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,因此會傳
false
回 。
陣列
從單一指定的輸入傳回數位。 如需多個輸入,請參閱 createArray()。
array('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 用於建立數位的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
[<value>] | 陣列 | 包含單一指定輸入的陣列 |
範例
此範例會從 「hello」 字串建立陣列:
array('hello')
並傳回此結果: ["hello"]
base64
傳回字串的base64編碼版本。
base64('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 輸入字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<base64-string> | String | 輸入字串的base64編碼版本 |
範例
此範例會將 「hello」 字串轉換成 base64 編碼的字串:
base64('hello')
並傳回此結果: "aGVsbG8="
base64ToBinary
傳回base64編碼字串的二進位版本。
base64ToBinary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的base64編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-base64-string> | String | base64 編碼字串的二進位版本 |
範例
此範例會將 “aGVsbG8=” base64 編碼字元串轉換成二進位字串:
base64ToBinary('aGVsbG8=')
並傳回此結果:
"0110000101000111010101100111001101100010010001110011100000111101"
base64ToString
傳回base64編碼字串的字串版本,有效地譯碼base64字串。
使用此函式,而不是 譯碼Base64()。
雖然這兩個函式的運作方式相同, base64ToString()
但偏好使用。
base64ToString('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要譯碼的base64編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-base64-string> | String | base64 編碼字串的字串版本 |
範例
此範例會將 “aGVsbG8=” base64 編碼字元串轉換成字符串:
base64ToString('aGVsbG8=')
並傳回此結果: "hello"
binary
傳回字串的二進位版本。
binary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-input-value> | String | 指定字串的二進位版本 |
範例
此範例會將 「hello」 字串轉換成二進位字串:
binary('hello')
並傳回此結果:
"0110100001100101011011000110110001101111"
bool
傳回值的布爾值版本。
bool(<value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 任意 | 要轉換的值 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 指定值的布爾值版本 |
範例
這些範例會將指定的值轉換成布爾值:
bool(1)
bool(0)
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
合併
從一或多個參數傳回第一個非 Null 值。 空字串、空陣列和空白物件不是 Null。
coalesce(<object_1>, <object_2>, ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object_1,object_2><>... | Yes | 任何,都可以混合類型 | 要檢查 Null 的一或多個專案 |
傳回值 | 類型 | 描述 |
---|---|---|
<first-non-null-item> | 任意 | 不是 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 | String | 至少要結合兩個字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<text1text2...> | String | 從合併輸入字串建立的字串 |
範例
此範例會結合字串 「Hello」 和 「World」:
concat('Hello', 'World')
並傳回此結果: "HelloWorld"
contains
檢查集合是否有特定專案。 找到專案時傳回 true,或在找不到時傳回 false。 此函式會區分大小寫。
contains('<collection>', '<value>')
contains([<collection>], '<value>')
具體而言,此函式適用於下列集合類型:
- 要尋找子字串的字串
- 要尋找值的陣列
- 要尋找索引鍵的字典
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串、陣列或字典 | 要檢查的集合 |
<value> | Yes | 分別字串、陣列或字典 | 要尋找的專案 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 找到項目時傳回 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>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<destinationTimeZone> | Yes | String | 目標時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<converted-timestamp> | String | 轉換成目標時區的時間戳 |
範例 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>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<sourceTimeZone> | Yes | String | 來源時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
<destinationTimeZone> | Yes | String | 目標時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<converted-timestamp> | String | 轉換成目標時區的時間戳 |
範例 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"
convertToUtc
將時間戳從來源時區轉換為通用時間國際標準時間(UTC)。
convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<sourceTimeZone> | Yes | String | 來源時區的名稱。 如需時區名稱,請參閱 Microsoft 時區值,但您可能必須從時區名稱中移除任何標點符號。 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<converted-timestamp> | String | 轉換為 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>', ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object1>, <object2>, ... | Yes | 任何,但不混合 | 至少要建立陣列的兩個專案 |
傳回值 | 類型 | 描述 |
---|---|---|
[<object1>, <object2>, ...] | 陣列 | 從所有輸入專案建立的陣列 |
範例
此範例會從下列輸入建立數位:
createArray('h', 'e', 'l', 'l', 'o')
並傳回此結果: ["h", "e", "l", "l", "o"]
dataUri
傳回字串的數據統一資源標識碼 (URI)。
dataUri('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<data-uri> | String | 輸入字串的數據 URI |
範例
此範例會建立 「hello」 字串的數據 URI:
dataUri('hello')
並傳回此結果: "data:text/plain;charset=utf-8;base64,aGVsbG8="
dataUriToBinary
傳回數據統一資源標識碼的二進位版本(URI)。
使用此函式,而不是 譯碼DataUri()。
雖然這兩個函式的運作方式相同, dataUriBinary()
但偏好使用。
dataUriToBinary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的數據 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-data-uri> | String | 數據 URI 的二進位版本 |
範例
此範例會為此數據 URI 建立二進位版本:
dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
dataUriToString
傳回數據統一資源標識碼的字串版本(URI)。
dataUriToString('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的數據 URI |
傳回值 | 類型 | 描述 |
---|---|---|
<string-for-data-uri> | String | 數據 URI 的字串版本 |
範例
此範例會建立此資料 URI 的字串:
dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果: "hello"
dayOfMonth
從時間戳傳回月份的日期。
dayOfMonth('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<月日> | 整數 | 指定時間戳中的月份日期 |
範例
此範例會從這個時間戳傳回月份日期的數位:
dayOfMonth('2018-03-15T13:27:36Z')
並傳回此結果: 15
dayOfWeek
傳回時間戳中的星期幾。
dayOfWeek('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<一周中的一天> | 整數 | 指定時間戳中的星期天為0、星期一為1,依故 |
範例
此範例會從這個時間戳傳回星期幾的數位:
dayOfWeek('2018-03-15T13:27:36Z')
並傳回此結果: 3
dayOfYear
從時間戳傳回年份的日期。
dayOfYear('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<一年中的一天> | 整數 | 指定時間戳中的年份日期 |
範例
此範例會從這個時間戳傳回年份的日期數目:
dayOfYear('2018-03-15T13:27:36Z')
並傳回此結果: 74
decodeBase64
傳回base64編碼字串的字串版本,有效地譯碼base64字串。
請考慮使用 base64ToString() 而不是 decodeBase64()
。
雖然這兩個函式的運作方式相同, base64ToString()
但偏好使用。
decodeBase64('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要譯碼的base64編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-base64-string> | String | base64 編碼字串的字串版本 |
範例
此範例會建立base64編碼字串的字串:
decodeBase64('aGVsbG8=')
並傳回此結果: "hello"
decodeDataUri
傳回數據統一資源標識碼的二進位版本(URI)。
請考慮使用 dataUriToBinary(),而不是 decodeDataUri()
。
雖然這兩個函式的運作方式相同, dataUriToBinary()
但偏好使用。
decodeDataUri('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要譯碼的數據 URI 字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-data-uri> | String | 數據 URI 字串的二進位版本 |
範例
此範例會傳回此資料 URI 的二進位版本:
decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')
並傳回此結果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
decodeUriComponent
傳回字串,以譯碼版本取代逸出字元。
decodeUriComponent('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 具有要譯碼之逸出字元的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-uri> | String | 已譯碼逸出字元的更新字串 |
範例
此範例會以譯碼的版本取代此字串中的逸出字元:
decodeUriComponent('http%3A%2F%2Fcontoso.com')
並傳回此結果: "https://contoso.com"
div
傳回除兩個數位的整數結果。 若要取得餘數結果,請參閱 mod()。
div(<dividend>, <divisor>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<dividend> | Yes | 整數或浮點數 | 要除以 除數的數位 |
<divisor> | Yes | 整數或浮點數 | 除 除股息但不能為 0 的數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<quotient-result> | 整數 | 將第一個數位除以第二個數位的整數結果 |
範例
這兩個範例都會將第一個數位除以第二個數位:
div(10, 5)
div(11, 5)
並傳回此結果: 2
encodeUriComponent
以逸出字元取代 URL 不安全字元,以傳回字串的統一資源識別元 (URI) 編碼版本。
請考慮使用 uriComponent(),而不是 encodeUriComponent()
。
雖然這兩個函式的運作方式相同, uriComponent()
但偏好使用。
encodeUriComponent('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換成 URI 編碼格式的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<encoded-uri> | String | 具有逸出字元的 URI 編碼字串 |
範例
此範例會為此字串建立 URI 編碼版本:
encodeUriComponent('https://contoso.com')
並傳回此結果: "http%3A%2F%2Fcontoso.com"
empty
檢查集合是否為空白。 當集合是空的,或當不是空白時傳回 false 時傳回 true。
empty('<collection>')
empty([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串、陣列或物件 | 要檢查的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當集合是空的時,傳回 true。 當不是空白時,傳回 false。 |
範例
這些範例會檢查指定的集合是否為空的:
empty('')
empty('abc')
並傳回下列結果:
- 第一個範例:傳遞空字串,讓函式傳
true
回 。 - 第二個範例:傳遞字串 「abc」,讓函式傳
false
回 。
endsWith
檢查字串是否以特定子字串結尾。 找到子字串時傳回 true,或在找不到時傳回 false。 此函式不區分大小寫。
endsWith('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要檢查的字串 |
<searchText> | Yes | String | 要尋找的結束子字串 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 找到結束子字串時,傳回 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>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object1>, <object2> | Yes | 各種 | 要比較的值、表達式或物件 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當兩者相等時,傳回 true。 當 不是相等時,傳回 false。 |
範例
這些範例會檢查指定的輸入是否相等。
equals(true, 1)
equals('abc', 'abcd')
並傳回下列結果:
- 第一個範例:這兩個值都相等,因此函式會傳
true
回 。 - 第二個範例:這兩個值不相等,因此函式會傳
false
回 。
第一
從字串或陣列傳回第一個專案。
first('<collection>')
first([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要在其中尋找第一個專案的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<first-collection-item> | 任意 | 集合中的第一個專案 |
範例
這些範例會尋找這些集合中的第一個專案:
first('hello')
first(createArray(0, 1, 2))
並傳回下列結果:
- 第一個範例:
"h"
- 第二個範例:
0
float
將浮點數的字串版本轉換為實際的浮點數。
float('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 具有要轉換之有效浮點數的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<float-value> | Float | 指定字串的浮點數 |
範例
此範例會為此浮點數建立字串版本:
float('10.333')
並傳回此結果: 10.333
formatDateTime
傳回指定格式的時間戳。
formatDateTime('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<reformatted-timestamp> | String | 指定格式的更新時間戳 |
範例
這個範例會將時間戳轉換成指定的格式:
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss')
並傳回此結果: "2018-03-15T12:00:00"
getFutureTime
傳回目前的時間戳加上指定的時間單位。
getFutureTime(<interval>, <timeUnit>, <format>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<區間> | Yes | 整數 | 要加入的指定時間單位數目 |
<timeUnit> | Yes | String | 要搭配 間隔使用的時間單位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 目前的時間戳加上指定的時間單位數目 |
範例 1
假設目前的時間戳是 “2018-03-01T00:00:00.0000000Z”。 此範例會將五天新增至該時間戳:
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
傳回目前的時間戳減去指定的時間單位。
getPastTime(<interval>, <timeUnit>, <format>?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<區間> | Yes | 整數 | 要減去的指定時間單位數目 |
<timeUnit> | Yes | String | 要搭配 間隔使用的時間單位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 目前的時間戳減去指定的時間單位數目 |
範例 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"
greater
檢查第一個值是否大於第二個值。 當第一個值更多時傳回 true,或當小於時傳回 false。
greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 檢查是否大於第二個值的第一個值 |
<compareTo> | Yes | 整數、浮點數或字串,分別 | 比較值 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值大於第二個值時,傳回 true。 當第一個值等於或小於第二個值時,傳回 false。 |
範例
這些範例會檢查第一個值是否大於第二個值:
greater(10, 5)
greater('apple', 'banana')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
greaterOrEquals
檢查第一個值是否大於或等於第二個值。 當第一個值大於或等於時傳回 true,或當第一個值小於時傳回 false。
greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 檢查是否大於或等於第二個值的第一個值 |
<compareTo> | Yes | 整數、浮點數或字串,分別 | 比較值 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值大於或等於第二個值時,傳回 true。 當第一個值小於第二個值時,傳回 false。 |
範例
這些範例會檢查第一個值是否大於或等於第二個值:
greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
guid
產生全域唯一標識碼 (GUID) 作為字串,例如 “c2ecc88d-88c8-4096-912c-d6f2e2b138ce”:
guid()
此外,您可以為預設格式 「D」 以外的 GUID 指定不同的格式,也就是以連字元分隔的 32 位數。
guid('<format>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<format> | No | String | 傳回之 GUID 的單 一格式規範 。 根據預設,格式為 「D」,但您可以使用 「N」、“D”、“B”、“P” 或 “X”。 |
傳回值 | 類型 | 描述 |
---|---|---|
<GUID-value> | String | 隨機產生的 GUID |
範例
此範例會產生相同的 GUID,但與 32 位數相同,並以連字元分隔,並以括弧括住:
guid('P')
並傳回此結果: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"
if
檢查表達式是否為 true 或 false。 根據結果,傳回指定的值。
if(<expression>, <valueIfTrue>, <valueIfFalse>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression> | Yes | 布林值 | 要檢查的表達式 |
<valueIfTrue> | Yes | 任意 | 表達式為 true 時要傳回的值 |
<valueIfFalse> | Yes | 任意 | 表達式為 false 時要傳回的值 |
傳回值 | 類型 | 描述 |
---|---|---|
<specified-return-value> | 任意 | 根據表達式為 true 或 false 傳回的指定值 |
範例
此範例會傳 "yes"
回 ,因為指定的表達式會傳回 true。
否則,此範例會傳 "no"
回 :
if(equals(1, 1), 'yes', 'no')
indexOf
傳回子字串的起始位置或索引值。 此函式不區分大小寫,且索引開頭為數位0。
indexOf('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 具有要尋找之子字串的字串 |
<searchText> | Yes | String | 要尋找的子字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<index-value> | 整數 | 指定子字串的起始位置或索引值。 如果找不到字串,則傳回數位 -1。 |
範例
此範例會在 「hello world」 字串中尋找 「world」 子字串的起始索引值:
indexOf('hello world', 'world')
並傳回此結果: 6
int
傳回字串的整數版本。
int('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<integer-result> | 整數 | 指定字串的整數版本 |
範例
此範例會建立字串 「10」 的整數版本:
int('10')
並傳回此結果: 10
json
傳回字串或 XML 的 JavaScript 物件表示法 (JSON) 類型值或物件。
json('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 字串或 XML | 要轉換的字串或 XML |
傳回值 | 類型 | 描述 |
---|---|---|
<JSON-result> | 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>', ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection1>, <collection2>, ... | Yes | 陣列或物件,但不是兩者 | 您只想要一般專案的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<common-items> | 陣列或物件,分別 | 集合,只具有指定集合中的一般專案 |
範例
此範例會尋找這些陣列中的一般專案:
intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))
並只傳回包含這些項目的陣列:[1, 2]
join
傳回字串,其中包含數位中的所有專案,且每個字元都以 分隔符分隔。
join([<collection>], '<delimiter>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 陣列 | 具有要聯結之項目的陣列 |
<分隔符> | Yes | String | 在產生的字串中每個字元之間出現的分隔符 |
傳回值 | 類型 | 描述 |
---|---|---|
<char1分隔符><char2><分隔符...>>< | String | 從指定數位中所有專案建立的結果字串 |
範例
這個範例會從這個陣列中具有指定字元做為分隔符的所有專案建立字串:
join(createArray('a', 'b', 'c'), '.')
並傳回此結果: "a.b.c"
最後一
從集合傳回最後一個專案。
last('<collection>')
last([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要在其中尋找最後一個專案的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<last-collection-item> | 字串或陣列,分別 | 集合中的最後一個專案 |
範例
這些範例會尋找這些集合中的最後一個專案:
last('abcd')
last(createArray(0, 1, 2, 3))
並傳回下列結果:
- 第一個範例:
"d"
- 第二個範例:
3
lastIndexOf
傳回子字串最後一次出現的起始位置或索引值。 此函式不區分大小寫,且索引開頭為數位0。
lastIndexOf('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 具有要尋找之子字串的字串 |
<searchText> | Yes | String | 要尋找的子字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<ending-index-value> | 整數 | 指定子字串最後一次出現的起始位置或索引值。 如果找不到字串,則傳回數位 -1。 |
範例
此範例會尋找 「hello world」 字串中最後出現 「world」 子字串的起始索引值:
lastIndexOf('hello world', 'world')
並傳回此結果: 6
length
傳回集合中的項目數。
length('<collection>')
length([<collection>])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 要計算之專案的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<length-or-count> | 整數 | 集合中的項目數目 |
範例
這些範例會計算這些集合中的項目數目:
length('abcd')
length(createArray(0, 1, 2, 3))
並傳回此結果: 4
less
檢查第一個值是否小於第二個值。 當第一個值較少時傳回 true,或當第一個值更多時傳回 false。
less(<value>, <compareTo>)
less('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 檢查是否小於第二個值的第一個值 |
<compareTo> | Yes | 整數、浮點數或字串,分別 | 比較專案 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值小於第二個值時,傳回 true。 當第一個值等於或大於第二個值時,傳回 false。 |
範例
這些範例會檢查第一個值是否小於第二個值。
less(5, 10)
less('banana', 'apple')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
lessOrEquals
檢查第一個值是否小於或等於第二個值。 當第一個值小於或等於時傳回 true,或當第一個值更多時傳回 false。
lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 整數、浮點數或字串 | 要檢查是否小於或等於第二個值的第一個值 |
<compareTo> | Yes | 整數、浮點數或字串,分別 | 比較專案 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當第一個值小於或等於第二個值時,傳回 true。 當第一個值大於第二個值時,傳回 false。 |
範例
這些範例會檢查第一個值是否小於或等於第二個值。
lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')
並傳回下列結果:
- 第一個範例:
true
- 第二個範例:
false
max
從清單或數位傳回值最高的值,其中包含兩端包含的數位。
max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<number1>、 <number2>、... | Yes | 整數、浮點數或兩者 | 要從中取得最高值的一組數位 |
[<number1>, <number2>, ...] | Yes | 陣列 - 整數、浮點數或兩者 | 要從中取得最高值的數位數位數位陣列 |
傳回值 | 類型 | 描述 |
---|---|---|
<max-value> | 整數或浮點數 | 指定數位集合中的最大值 |
範例
這些範例會從數位集和數位列中取得最高值:
max(1, 2, 3)
max(createArray(1, 2, 3))
並傳回此結果: 3
分鐘
從一組數位或陣列傳回最小值。
min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<number1>、 <number2>、... | Yes | 整數、浮點數或兩者 | 要從中取得最低值的一組數位 |
[<number1>, <number2>, ...] | Yes | 陣列 - 整數、浮點數或兩者 | 要從中取得最低值的數位數位數位數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<min-value> | 整數或浮點數 | 指定數位集或指定陣列中的最小值 |
範例
這些範例會取得數位集和陣列中的最小值:
min(1, 2, 3)
min(createArray(1, 2, 3))
並傳回此結果: 1
mod
傳回除兩個數位的餘數。 若要取得整數結果,請參閱 div()。
mod(<dividend>, <divisor>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<dividend> | Yes | 整數或浮點數 | 要除以 除數的數位 |
<divisor> | Yes | 整數或浮點數 | 除 除股息但不能為 0 的數位。 |
傳回值 | 類型 | 描述 |
---|---|---|
<modulo-result> | 整數或浮點數 | 除以第一個數位為第二個數位的餘數 |
範例
本範例會將第一個數位除以第二個數位:
mod(3, 2)
並傳回此結果: 1
mul
傳回乘兩個數字的產品。
mul(<multiplicand1>, <multiplicand2>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<multiplicand1> | Yes | 整數或浮點數 | 要乘以 multiplicand2 的數位 |
<multiplicand2> | Yes | 整數或浮點數 | 多重 數和1的數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<product-result> | 整數或浮點數 | 乘以第一個數位乘以第二個數字的產品 |
範例
這些範例會將第一個數位乘以第二個數位:
mul(1, 2)
mul(1.5, 2)
並傳回下列結果:
- 第一個範例:
2
- 第二個範例
3
not
檢查表達式是否為 false。 當表達式為 false 時傳回 true,或在 true 時傳回 false。
not(<expression>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression> | Yes | 布林值 | 要檢查的表達式 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當表達式為 false 時,傳回 true。 當表達式為 true 時傳回 false。 |
範例 1
這些範例會檢查指定的表達式是否為 false:
not(false)
not(true)
並傳回下列結果:
- 第一個範例:表達式為 false,因此函式會傳
true
回 。 - 第二個範例:表示式為 true,因此函式會傳
false
回 。
範例 2
這些範例會檢查指定的表達式是否為 false:
not(equals(1, 2))
not(equals(1, 1))
並傳回下列結果:
- 第一個範例:表達式為 false,因此函式會傳
true
回 。 - 第二個範例:表示式為 true,因此函式會傳
false
回 。
或
檢查是否至少有一個表達式為 true。 當至少有一個表達式為 true 時傳回 true,或當兩者都是 false 時傳回 false。
or(<expression1>, <expression2>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<expression1>, <expression2> | Yes | 布林值 | 要檢查的表達式 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 當至少有一個表達式為 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>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<minValue> | Yes | 整數 | 範圍中最低的整數 |
<maxValue> | Yes | 整數 | 在函式可以傳回之範圍中最高整數之後的整數 |
傳回值 | 類型 | 描述 |
---|---|---|
<random-result> | 整數 | 從指定範圍傳回的隨機整數 |
範例
這個範例會從指定的範圍取得隨機整數,但不包括最大值:
rand(1, 5)
並傳回下列其中一個數位作為結果:1
、、 3
2
或4
range
傳回從指定整數開始的整數數位。
range(<startIndex>, <count>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<startIndex> | Yes | 整數 | 啟動陣列做為第一個專案的整數值 |
<計數> | Yes | 整數 | 陣列中的整數數目 |
傳回值 | 類型 | 描述 |
---|---|---|
[<range-result>] | 陣列 | 從指定索引開始的整數陣列 |
範例
此範例會建立從指定索引開始的整數陣列,並具有指定的整數數目:
range(1, 4)
並傳回此結果: [1, 2, 3, 4]
replace
以指定的字串取代子字串,並傳回結果字串。 此函式會區分大小寫。
replace('<text>', '<oldText>', '<newText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 具有要取代之子字串的字串 |
<oldText> | Yes | String | 要取代的子字串 |
<newText> | Yes | String | 取代字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-text> | String | 取代子字串之後更新的字串 如果找不到子字串,則傳回原始字串。 |
範例
此範例會在 「old string」 中尋找 「old」 子字串,並將 「old」 取代為 「new」:
replace('the old string', 'old', 'new')
並傳回此結果: "the new string"
skip
從集合前面移除專案,並傳回 所有其他 專案。
skip([<collection>], <count>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 陣列 | 要移除其專案之集合 |
<計數> | Yes | 整數 | 正整數,表示要從前端移除的項目數 |
傳回值 | 類型 | 描述 |
---|---|---|
[<updated-collection>] | 陣列 | 拿掉指定項目之後更新的集合 |
範例
此範例會從指定陣列的前面移除一個專案,數位 0:
skip(createArray(0, 1, 2, 3), 1)
並傳回具有其餘項目的這個陣列: [1,2,3]
split
根據原始字串中的指定分隔符,傳回包含以逗號分隔的子字串陣列。
split('<text>', '<delimiter>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要根據原始字串中指定的分隔符分隔成子字串的字串 |
<分隔符> | Yes | String | 做為分隔符的原始字串中的字元 |
傳回值 | 類型 | 描述 |
---|---|---|
[<substring1,substring2><>,...] | 陣列 | 數位,包含原始字串中的子字串,並以逗號分隔 |
範例
此範例會根據指定字元做為分隔符,從指定的字串建立具有子字串的陣列:
split('a_b_c', '_')
並傳回此陣列作為結果: ["a","b","c"]
startOfDay
傳回時間戳的當天開始時間。
startOfDay('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 指定的時間戳,但從當天的零小時標記開始 |
範例
此範例會尋找此時間戳的開始時間:
startOfDay('2018-03-15T13:30:30Z')
並傳回此結果: "2018-03-15T00:00:00.0000000Z"
startOfHour
傳回時間戳的小時開始。
startOfHour('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 指定的時間戳,但從小時零分鐘標記開始 |
範例
此範例會尋找此時間戳的小時開始時間:
startOfHour('2018-03-15T13:30:30Z')
並傳回此結果: "2018-03-15T13:00:00.0000000Z"
startOfMonth
傳回時間戳的月份開始。
startOfMonth('<timestamp>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 指定的時間戳,但從月份的第一天開始,以零小時標記開始 |
範例
此範例會傳回此時間戳的月份開始:
startOfMonth('2018-03-15T13:30:30Z')
並傳回此結果: "2018-03-01T00:00:00.0000000Z"
startsWith
檢查字串是否以特定子字串開頭。 找到子字串時傳回 true,或在找不到時傳回 false。 此函式不區分大小寫。
startsWith('<text>', '<searchText>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要檢查的字串 |
<searchText> | Yes | String | 要尋找的起始字串 |
傳回值 | 類型 | 描述 |
---|---|---|
[True] 或 [False] | 布林值 | 找到起始子字串時,傳回 true。 找不到時傳回 false。 |
範例 1
此範例會檢查 “hello world” 字串是否以 “hello” 子字串開頭:
startsWith('hello world', 'hello')
並傳回此結果: true
範例 2
此範例會檢查 “hello world” 字符串是否以 “greetings” 子字串開頭:
startsWith('hello world', 'greetings')
並傳回此結果: false
string
傳回值的字串版本。
string(<value>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | 任意 | 要轉換的值 |
傳回值 | 類型 | 描述 |
---|---|---|
<string-value> | String | 指定值的字串版本 |
範例 1
這個範例會為此數位建立字串版本:
string(10)
並傳回此結果: "10"
範例 2
這個範例會為指定的 JSON 物件建立字串,並使用反斜杠字元 (\) 做為雙引號的逸出字元。」。
string( { "name": "Sophie Owen" } )
並傳回此結果: "{ \\"name\\": \\"Sophie Owen\\" }"
sub
傳回從第一個數字減去第二個數字的結果。
sub(<minuend>, <subtrahend>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<minuend> | Yes | 整數或浮點數 | 要從中減去 減的數位 |
<subtrahend> | Yes | 整數或浮點數 | 要從 minuend 減去的數位 |
傳回值 | 類型 | 描述 |
---|---|---|
<result> | 整數或浮點數 | 從第一個數字減去第二個數字的結果 |
範例
本範例會從第一個數字減去第二個數位:
sub(10.3, .3)
並傳回此結果: 10
substring
從指定的位置或索引開始,從字串傳回字元。 索引值從數位 0 開始。
substring('<text>', <startIndex>, <length>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 您想要其字元的字串 |
<startIndex> | Yes | 整數 | 正數等於或大於 0,您想要用來做為起始位置或索引值 |
<length> | Yes | 整數 | 您想要在子字串中的正數字元數 |
傳回值 | 類型 | 描述 |
---|---|---|
<substring-result> | String | 具有指定字元數的子字串,從來源字串中的指定索引位置開始 |
範例
此範例會從指定的字串建立五個字元的子字串,從索引值 6 開始:
substring('hello world', 6, 5)
並傳回此結果: "world"
subtractFromTime
從時間戳減去一些時間單位。 另 請參閱 getPastTime。
subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 包含時間戳的字串 |
<區間> | Yes | 整數 | 要減去的指定時間單位數目 |
<timeUnit> | Yes | String | 要搭配 間隔使用的時間單位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<updated-timestamp> | String | 時間戳減去指定的時間單位數目 |
範例 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
傳回集合前端的專案。
take('<collection>', <count>)
take([<collection>], <count>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection> | Yes | 字串或陣列 | 您想要其項目的集合 |
<計數> | Yes | 整數 | 正整數,表示您想要從前端取得的項目數 |
傳回值 | 類型 | 描述 |
---|---|---|
<子集或 [<子集>]> | 字串或陣列,分別 | 字串或陣列,具有從原始集合前面擷取的指定項目數目 |
範例
這些範例會從這些集合前面取得指定的項目數目:
take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)
並傳回下列結果:
- 第一個範例:
"abc"
- 第二個範例:
[0, 1, 2]
蜱
ticks
傳回指定時間戳的屬性值。
刻度是 100 奈秒的間隔。
ticks('<timestamp>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<timestamp> | Yes | String | 時間戳的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<ticks-number> | 整數 | 自輸入時間戳以來,公曆中從 12:00:00:00 開始的刻度數 |
toLower
以小寫格式傳回字串。 如果字串中的字元沒有小寫版本,該字元會在傳回的字串中保持不變。
toLower('<text>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要以小寫格式傳回的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<小寫文字> | String | 以小寫格式的原始字串 |
範例
這個範例會將此字串轉換成小寫:
toLower('Hello World')
並傳回此結果: "hello world"
toUpper
以大寫格式傳回字串。 如果字串中的字元沒有大寫版本,該字元會在傳回的字串中保持不變。
toUpper('<text>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 要以大寫格式傳回的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<大寫文字> | String | 大寫格式的原始字串 |
範例
這個範例會將此字串轉換成大寫:
toUpper('Hello World')
並傳回此結果: "HELLO WORLD"
修剪
從字串中移除開頭和尾端空格符,並傳回更新的字串。
trim('<text>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<text> | 是 | String | 字串,具有要移除的前置和尾端空格符 |
傳回值 | 類型 | 描述 |
---|---|---|
<updatedText> | String | 原始字串的更新版本,不含開頭或尾端空格符 |
範例
此範例會從字串 「Hello World」 移除開頭和尾端空格符:
trim(' Hello World ')
並傳回此結果: "Hello World"
union
傳回具有 指定集合中所有 專案的集合。 若要出現在結果中,專案可以出現在傳遞至此函式的任何集合中。 如果一或多個專案具有相同的名稱,則結果中會出現具有該名稱的最後一個專案。
union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<collection1>, <collection2>, ... | Yes | 陣列或物件,但不是兩者 | 您想要 所有 項目的集合 |
傳回值 | 類型 | 描述 |
---|---|---|
<updatedCollection> | 陣列或物件,分別 | 集合,其中包含指定集合中的所有專案 - 沒有重複專案 |
範例
此範例會從這些集合取得 所有 專案:
union(createArray(1, 2, 3), createArray(1, 2, 10, 101))
並傳回此結果: [1, 2, 3, 10, 101]
uriComponent
以逸出字元取代 URL 不安全字元,以傳回字串的統一資源識別元 (URI) 編碼版本。
使用此函式,而不是 encodeUriComponent()。
雖然這兩個函式的運作方式相同, uriComponent()
但偏好使用。
uriComponent('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換成 URI 編碼格式的字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<encoded-uri> | String | 具有逸出字元的 URI 編碼字串 |
範例
此範例會為此字串建立 URI 編碼版本:
uriComponent('https://contoso.com')
並傳回此結果: "http%3A%2F%2Fcontoso.com"
uriComponentToBinary
傳回統一資源標識碼 (URI) 元件的二進位版本。
uriComponentToBinary('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要轉換的 URI 編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<binary-for-encoded-uri> | String | URI 編碼字串的二進位版本。 二進位內容是以base64編碼,並以 $content 表示。 |
範例
此範例會建立這個 URI 編碼字串的二進位版本:
uriComponentToBinary('http%3A%2F%2Fcontoso.com')
並傳回此結果:
"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"
uriComponentToString
傳回統一資源標識碼 (URI) 編碼字串的字串版本,有效地譯碼 URI 編碼的字串。
uriComponentToString('<value>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 要譯碼的 URI 編碼字串 |
傳回值 | 類型 | 描述 |
---|---|---|
<decoded-uri> | String | URI 編碼字串的譯碼版本 |
範例
此範例會建立此 URI 編碼字串的譯碼字串版本:
uriComponentToString('http%3A%2F%2Fcontoso.com')
並傳回此結果: "https://contoso.com"
utcNow
傳回目前的時間戳。
utcNow('<format>')
或者,您可以使用 format 參數來指定不同的格式<>。
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<format> | No | String | 單一 格式規範 或 自定義格式模式。 時間戳的預設格式為 「o」 (yyyy-MM-ddTHH:mm:ss.fffffffK),其符合 ISO 8601 並保留時區資訊。 |
傳回值 | 類型 | 描述 |
---|---|---|
<current-timestamp> | String | 目前的日期和時間 |
範例 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>')
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<value> | Yes | String | 字串與要轉換的 JSON 物件 JSON 對象必須只有一個根屬性,不能是陣列。 使用反斜杠字元 (\) 作為雙引號的逸出字元()。 |
傳回值 | 類型 | 描述 |
---|---|---|
<xml-version> | Object | 指定字串或 JSON 物件的編碼 XML |
範例 1
此範例會為此字串建立 XML 版本,其中包含 JSON 物件:
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 字串 |
<Xpath> | Yes | 任意 | 用來尋找相符 XML 節點或值的 XPath 運算式 |
傳回值 | 類型 | 描述 |
---|---|---|
<xml-node> | XML | 只有單一節點符合指定的 XPath 運算式時,XML 節點 |
<value> | 任意 | 只有單一值符合指定的 XPath 運算式時,XML 節點的值 |
[<xml-node1>, <xml-node2>, ...] -或- [<value1>, <value2>, ...] |
陣列 | 具有符合指定 XPath 運算式之 XML 節點或值的陣列 |
範例 1
在範例 1 上,此範例會尋找符合節點的 <count></count>
節點,並使用 函式新增這些節點值 sum()
:
xpath(xml(parameters('items')), 'sum(/produce/item/count)')
並傳回此結果: 30
範例 2
在此範例中,這兩個表達式都會在指定的自變數中尋找符合 <location></location>
節點的節點,其中包含具有命名空間的 XML。 表達式會使用反斜杠字元 (\) 作為雙引號的逸出字元()。
表達式 1
xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')
Expression 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 的參數