本文提供有关 Microsoft Fabric 中数据工厂支持的表达式和函数的详细信息。
Expressions
定义中的表达式值可以是在运行时计算的文本或表达式。 例如:
"value"
或
"@pipeline().parameters.password"
表达式可以出现在字符串值中的任何位置,并始终生成另一个字符串值。 如果值是表达式,则通过删除 at-sign (@) 提取表达式的正文。 如果需要以 @开头的文本字符串,则必须使用 @@对其进行转义。 以下示例演示如何计算表达式。
| 表达式值 | 结果 |
|---|---|
| “parameters” | 返回字符“parameters”。 |
| “parameters[1]” | 返回字符“parameters[1]”。 |
| "@@" | 返回包含“@”的 1 个字符字符串。 |
| " @" | 返回一个包含 '@' 的 2 个字符字符串。 |
表达式还可以显示在字符串内,使用称为 字符串内插 的功能,其中表达式被包装在一起 @{ ... }。 例如:"First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"
使用字符串内插,结果始终为字符串。 假设我已定义为myNumber42:myStringfoo
| 表达式值 | 结果 |
|---|---|
| “@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) like 表达式循环访问 10 次,从 0 结束到 9。
可以使用 @activity(“活动名称”捕获活动的输出并做出决策。 请考虑名为 Web1 的 Web 活动。 为了将第一个活动的输出放置在第二个活动的正文中,表达式通常类似于: @activity(“Web1”)。output 或 @activity(“Web1”)。output.data 或类似内容,具体取决于第一个活动的输出的外观。
例子
复杂表达式示例
下面的示例显示了一个引用活动输出的深层子字段的复杂示例。 若要引用计算结果为子字段的管道参数,请使用 [] 语法而不是 dot(.) 运算符(例如子字段 1 和子字段 2),作为活动输出的一部分。
@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 in replace() 函数替换换行符或制表符,则会导致问题。 可以在代码视图中编辑动态内容以删除表达式中的额外 \,也可以按照以下步骤使用表达式语言替换特殊字符:
- 针对原始字符串值的 URL 编码
- 替换 URL 编码的字符串,例如换行符(%0A)、回车符(%0D)、水平制表符(%09)。
- URL 解码
例如,变量 companyName 在其值中使用换行符,表达式 @uriComponentToString(replace(uriComponent(variables('companyName')), '%0A', '')) 可以删除换行符。
Contoso-
Corporation
转义单引号字符
表达式函数对字符串值参数使用单引号。 使用两个单引号转义 ' 字符串函数中的字符。 例如,表达式 @concat('Baba', '''s ', 'book store') 将返回以下结果。
Baba's book store
管道范围变量
可以在管道中的任何位置引用这些系统变量。
| 变量名称 | Description |
|---|---|
| @pipeline().DataFactory | 管道运行中正在运行的工作区的 ID |
| @pipeline().Pipeline | 管道的 ID |
| @pipeline().PipelineName | 管道的名称 |
| @pipeline().RunId | 特定管道运行的 ID |
| @pipeline().TriggerId | 调用管道的触发器的 ID |
| @pipeline().TriggerName | 调用管道的触发器的名称 |
| @pipeline().TriggerTime | 调用管道的触发器运行的时间。 这是触发器 实际 触发以调用管道运行的时间,它可能与触发器的计划时间略有不同。 |
| @pipeline().GroupId | 管道运行所属的组的 ID。 |
| @pipeline()?.TriggeredByPipelineName | 触发管道运行的管道的名称。 适用于由 ExecutePipeline 活动触发管道运行的时间。 在其他情况下使用时,计算结果为 Null 。 记下问号 @pipeline() |
| @pipeline()?.TriggeredByPipelineRunId | 触发管道运行的管道的运行 ID。 适用于由 ExecutePipeline 活动触发管道运行的时间。 在其他情况下使用时,计算结果为 Null 。 记下问号 @pipeline() |
注释
触发器相关的日期/时间系统变量(在管道和触发器范围中)以 ISO 8601 格式返回 UTC 日期,例如 2017-06-01T22:20:00.4061448Z。
Functions
可以在表达式中调用函数。 以下部分提供有关可在表达式中使用的函数的信息。
日期函数
| 日期或时间函数 | 任务 |
|---|---|
| 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 | 以字符串的形式返回当前时间戳。 |
字符串函数
若要处理字符串,可以使用这些字符串函数和一些 集合函数。 字符串函数仅适用于字符串。
| 字符串函数 | 任务 |
|---|---|
| concat | 合并两个或多个字符串,并返回组合字符串。 |
| endsWith | 检查字符串是否以指定的子字符串结尾。 |
| guid | 以字符串的形式生成全局唯一标识符(GUID)。 |
| indexOf | 返回子字符串的起始位置。 |
| lastIndexOf | 返回子字符串的最后一个匹配项的起始位置。 |
| 替换 | 将子字符串替换为指定的字符串,并返回更新后的字符串。 |
| 拆分 | 返回一个数组,该数组包含子字符串(用逗号分隔)与基于原始字符串中的指定分隔符字符的较大字符串。 |
| startsWith | 检查字符串是否以特定的子字符串开头。 |
| 子字符串 | 从指定位置开始返回字符串中的字符。 |
| toLower | 以小写格式返回字符串。 |
| toUpper | 以大写格式返回字符串。 |
| 修剪 | 从字符串中删除前导空格和尾随空格,并返回更新后的字符串。 |
集合函数
若要使用集合(通常为数组、字符串,有时是字典),可以使用这些集合函数。
| 集合函数 | 任务 |
|---|---|
| 包含 | 检查集合是否具有特定项。 |
| 空 | 检查集合是否为空。 |
| 第一 | 从集合中返回第一项。 |
| intersection | 返回一个集合, 该集合中只有 指定集合中的常用项。 |
| 加入 | 返回一个字符串,其中包含数组 中的所有 项,用指定字符分隔。 |
| 最后 | 从集合中返回最后一项。 |
| 长度 | 返回字符串或数组中的项数。 |
| 跳过 | 从集合的前面删除项,并返回 所有其他 项。 |
| 拿 | 从集合的前面返回项。 |
| union | 返回包含指定集合 中的所有 项的集合。 |
逻辑函数
这些函数在条件中非常有用,可用于评估任何类型的逻辑。
| 逻辑比较函数 | 任务 |
|---|---|
| 和 | 检查所有表达式是否均为 true。 |
| 等于 | 检查这两个值是否等效。 |
| 大 | 检查第一个值是否大于第二个值。 |
| 大于或等于 | 检查第一个值是否大于或等于第二个值。 |
| 如果 | 检查表达式是 true 还是 false。 根据结果返回指定的值。 |
| 更少 | 检查第一个值是否小于第二个值。 |
| 小于或等于 | 检查第一个值是否小于或等于第二个值。 |
| 不 | 检查表达式是否为 false。 |
| 或 | 检查至少一个表达式是否为 true。 |
转换函数
这些函数用于在语言中的每个本机类型之间进行转换:
- 字符串
- 整数
- float
- 布尔
- 阵 列
- 字典
| 转换函数 | 任务 |
|---|---|
| array | 从单个指定输入返回数组。 有关多个输入,请参阅 createArray。 |
| base64 | 返回字符串的 base64 编码版本。 |
| base64ToBinary | 返回 base64 编码字符串的二进制版本。 |
| base64ToString | 返回 base64 编码字符串的字符串版本。 |
| 二元的 | 返回输入值的二进制版本。 |
| bool | 返回输入值的布尔版本。 |
| 合并 | 从一个或多个参数返回第一个非 null 值。 |
| createArray | 从多个输入返回数组。 |
| dataUri | 返回输入值的数据 URI。 |
| dataUriToBinary | 返回数据 URI 的二进制版本。 |
| dataUriToString | 返回数据 URI 的字符串版本。 |
| decodeBase64 | 返回 base64 编码字符串的字符串版本。 |
| decodeDataUri | 返回数据 URI 的二进制版本。 |
| decodeUriComponent | 返回一个字符串,该字符串将转义字符替换为解码的版本。 |
| encodeUriComponent | 返回一个字符串,该字符串将 URL 不安全字符替换为转义字符。 |
| 漂浮 | 返回输入值的浮点数。 |
| int | 返回字符串的整数版本。 |
| 字符串 | 返回输入值的字符串版本。 |
| uriComponent | 通过将 URL 不安全字符替换为转义字符,返回输入值的 URI 编码版本。 |
| uriComponentToBinary | 返回 URI 编码字符串的二进制版本。 |
| uriComponentToString | 返回 URI 编码字符串的字符串版本。 |
| xml | 返回字符串的 XML 版本。 |
| xpath | 检查 XML 中是否存在与 XPath(XML 路径语言)表达式匹配的节点或值,并返回匹配的节点或值。 |
数学函数
这些函数可用于任一类型的数字: 整数 和 浮点数。
| 数学函数 | 任务 |
|---|---|
| 添加 | 返回添加两个数字的结果。 |
| div | 返回两个数字相除的结果。 |
| 最大 | 从一组数字或数组中返回最大值。 |
| min | 从一组数字或数组中返回最小值。 |
| 模组 | 返回除以两个数字的余数。 |
| mul | 返回乘以两个数字的产品。 |
| 兰特 | 从指定范围返回一个随机整数。 |
| 范围 | 返回从指定整数开始的整数数组。 |
| 字幕 | 返回从第一个数字中减去第二个数字的结果。 |
函数参考
本部分按字母顺序列出所有可用函数。
添加
返回添加两个数字的结果。
add(<summand_1>, <summand_2>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < summand_1,summand_2><> | 是的 | 整数、浮点数或混合 | 要添加的数字 |
| 返回值 | 类型 | Description |
|---|---|---|
| < result-sum> | 整数或浮点数 | 添加指定数字的结果 |
示例
此示例添加指定的数字:
add(1, 1.5)
并返回以下结果: 2.5
addDays
将天数添加到时间戳。
addDays('<timestamp>', <days>, '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 日> | 是的 | 整数 | 要添加的正天数或负天数 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 小时> | 是的 | 整数 | 要添加的正小时数或负小时数 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updated-timestamp> | String | 时间戳加上指定的小时数 |
示例 1
此示例将 10 小时添加到指定的时间戳:
addHours('2018-03-15T00:00:00Z', 10)
并返回以下结果: "2018-03-15T10:00:0000000Z"
示例 2
此示例从指定的时间戳中减去 5 小时:
addHours('2018-03-15T15:00:00Z', -5)
并返回以下结果: "2018-03-15T10:00:0000000Z"
addMinutes
将分钟数添加到时间戳。
addMinutes('<timestamp>', <minutes>, '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 纪要> | 是的 | 整数 | 要添加的正或负分钟数 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updated-timestamp> | String | 时间戳加上指定的分钟数 |
示例 1
此示例将 10 分钟添加到指定的时间戳:
addMinutes('2018-03-15T00:10:00Z', 10)
并返回以下结果: "2018-03-15T00:20:00.0000000Z"
示例 2
此示例从指定的时间戳中减去 5 分钟:
addMinutes('2018-03-15T00:20:00Z', -5)
并返回以下结果: "2018-03-15T00:15:00.0000000Z"
addSeconds
将秒数添加到时间戳。
addSeconds('<timestamp>', <seconds>, '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 秒> | 是的 | 整数 | 要添加的正秒数或负秒数 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 间隔> | 是的 | 整数 | 要添加的指定时间单位数 |
| < timeUnit> | 是的 | String | 与 间隔一起使用的时间单位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < expression1,expression2><> | 是的 | 布尔 | 要检查的表达式 |
| 返回值 | 类型 | Description |
|---|---|---|
| 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>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 用于创建数组的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| [<value>] | Array | 包含单个指定输入的数组 |
示例
此示例从“hello”字符串创建数组:
array('hello')
并返回以下结果: ["hello"]
base64
返回字符串的 base64 编码版本。
base64('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 输入字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < base64-string> | String | 输入字符串的 base64 编码版本 |
示例
此示例将“hello”字符串转换为 base64 编码的字符串:
base64('hello')
并返回以下结果: "aGVsbG8="
base64ToBinary
返回 base64 编码字符串的二进制版本。
base64ToBinary('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的 base64 编码字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < binary-for-base64-string> | String | base64 编码字符串的二进制版本 |
示例
此示例将“aGVsbG8=”base64 编码的字符串转换为二进制字符串:
base64ToBinary('aGVsbG8=')
并返回以下结果:
"0110000101000111010101100111001101100010010001110011100000111101"
base64ToString
返回 base64 编码字符串的字符串版本,有效解码 base64 字符串。
使用此函数,而不是解码Base64()。
尽管这两个函数的工作方式相同, base64ToString() 但首选。
base64ToString('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要解码的 base64 编码字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < decoded-base64-string> | String | base64 编码字符串的字符串版本 |
示例
此示例将“aGVsbG8=”base64 编码的字符串转换为字符串:
base64ToString('aGVsbG8=')
并返回以下结果: "hello"
二进制
返回字符串的二进制版本。
binary('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < binary-for-input-value> | String | 指定字符串的二进制版本 |
示例
此示例将“hello”字符串转换为二进制字符串:
binary('hello')
并返回以下结果:
"0110100001100101011011000110110001101111"
布尔
返回值的布尔版本。
bool(<value>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 任意 | 要转换的值 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 指定值的布尔版本 |
示例
这些示例将指定值转换为布尔值:
bool(1)
bool(0)
并返回以下结果:
- 第一个示例:
true - 第二个示例:
false
联合
从一个或多个参数返回第一个非 null 值。 空字符串、空数组和空对象不为 null。
coalesce(<object_1>, <object_2>, ...)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < >object_1、<object_2>... | 是的 | 任何,都可以混合类型 | 要检查是否为 null 的一个或多个项 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>', ...)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < text1>, <text2>, ... | 是的 | String | 至少两个要组合的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < text1text2...> | String | 从组合输入字符串创建的字符串 |
示例
此示例合并字符串“Hello”和“World”:
concat('Hello', 'World')
并返回以下结果: "HelloWorld"
包含
检查集合是否具有特定项。 找到项时返回 true,如果未找到,则返回 false。 此函数区分大小写。
contains('<collection>', '<value>')
contains([<collection>], '<value>')
具体而言,此函数适用于以下集合类型:
- 用于查找子字符串的字符串
- 用于查找值的数组
- 用于查找键的字典
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | 字符串、数组或字典 | 要检查的集合 |
| < 价值> | 是的 | 字符串、数组或字典分别 | 要查找的项 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 找到该项时返回 true。 如果未找到,则返回 false。 |
示例 1
此示例检查子字符串“world”的字符串“hello world”,并返回 true:
contains('hello world', 'world')
示例 2
此示例检查子字符串“universe”的字符串“hello world”,并返回 false:
contains('hello world', 'universe')
convertFromUtc
将时间戳从世界时协调(UTC)转换为目标时区。
convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < destinationTimeZone> | 是的 | String | 目标时区的名称。 有关时区名称,请参阅 Microsoft时区值,但可能需要从时区名称中删除任何标点符号。 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < sourceTimeZone> | 是的 | String | 源时区的名称。 有关时区名称,请参阅 Microsoft时区值,但可能需要从时区名称中删除任何标点符号。 |
| < destinationTimeZone> | 是的 | String | 目标时区的名称。 有关时区名称,请参阅 Microsoft时区值,但可能需要从时区名称中删除任何标点符号。 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < sourceTimeZone> | 是的 | String | 源时区的名称。 有关时区名称,请参阅 Microsoft时区值,但可能需要从时区名称中删除任何标点符号。 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>', ...)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < object1>、 <object2>、... | 是的 | 任何,但不混合 | 创建数组的至少两个项 |
| 返回值 | 类型 | Description |
|---|---|---|
| [<object1>, <object2>, ...] | Array | 从所有输入项创建的数组 |
示例
此示例从以下输入创建数组:
createArray('h', 'e', 'l', 'l', 'o')
并返回以下结果: ["h", "e", "l", "l", "o"]
dataUri
返回字符串的数据统一资源标识符(URI)。
dataUri('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < data-uri> | String | 输入字符串的数据 URI |
示例
此示例为“hello”字符串创建数据 URI:
dataUri('hello')
并返回以下结果: "data:text/plain;charset=utf-8;base64,aGVsbG8="
dataUriToBinary
返回数据统一资源标识符(URI)的二进制版本。
使用此函数,而不是 decodeDataUri()。
尽管这两个函数的工作方式相同, dataUriBinary() 但首选。
dataUriToBinary('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的数据 URI |
| 返回值 | 类型 | Description |
|---|---|---|
| < binary-for-data-uri> | String | 数据 URI 的二进制版本 |
示例
此示例为此数据 URI 创建二进制版本:
dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')
并返回以下结果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
dataUriToString
返回数据统一资源标识符(URI)的字符串版本。
dataUriToString('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的数据 URI |
| 返回值 | 类型 | Description |
|---|---|---|
| < string-for-data-uri> | String | 数据 URI 的字符串版本 |
示例
此示例为此数据 URI 创建一个字符串:
dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')
并返回以下结果: "hello"
dayOfMonth
返回时间戳中的月份日期。
dayOfMonth('<timestamp>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < month-of-month> | 整数 | 指定时间戳中的月份日期 |
示例
此示例返回此时间戳中月份日期的数字:
dayOfMonth('2018-03-15T13:27:36Z')
并返回以下结果: 15
dayOfWeek (周)
从时间戳返回一周中的一天。
dayOfWeek('<timestamp>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 星期几> | 整数 | 指定时间戳中的星期几为 0、星期一为 1 等 |
示例
此示例返回此时间戳中星期几的数字:
dayOfWeek('2018-03-15T13:27:36Z')
并返回以下结果: 3
dayOfYear
从时间戳返回一年中的一天。
dayOfYear('<timestamp>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < year-of-year> | 整数 | 指定时间戳中的年份日期 |
示例
此示例返回此时间戳中年份的天数:
dayOfYear('2018-03-15T13:27:36Z')
并返回以下结果: 74
decodeBase64
返回 base64 编码字符串的字符串版本,有效解码 base64 字符串。
请考虑使用 base64ToString() 而不是 decodeBase64().
尽管这两个函数的工作方式相同, base64ToString() 但首选。
decodeBase64('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要解码的 base64 编码字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < decoded-base64-string> | String | base64 编码字符串的字符串版本 |
示例
此示例为 base64 编码的字符串创建字符串:
decodeBase64('aGVsbG8=')
并返回以下结果: "hello"
decodeDataUri
返回数据统一资源标识符(URI)的二进制版本。
请考虑使用 dataUriToBinary(),而不是 decodeDataUri().
尽管这两个函数的工作方式相同, dataUriToBinary() 但首选。
decodeDataUri('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要解码的数据 URI 字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < binary-for-data-uri> | String | 数据 URI 字符串的二进制版本 |
示例
此示例返回此数据 URI 的二进制版本:
decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')
并返回以下结果:
"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"
decodeUriComponent
返回一个字符串,该字符串将转义字符替换为解码的版本。
decodeUriComponent('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 包含要解码的转义字符的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < decoded-uri> | String | 带解码转义字符的已更新字符串 |
示例
此示例将此字符串中的转义字符替换为解码的版本:
decodeUriComponent('http%3A%2F%2Fcontoso.com')
并返回以下结果: "https://contoso.com"
div
返回除以两个数字的整数结果。 若要获取其余结果,请参阅 mod()。
div(<dividend>, <divisor>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 股利> | 是的 | 整数或浮点数 | 要除以除数的数字 |
| < 除数> | 是的 | 整数或浮点数 | 除 分红的数字,但不能为 0 |
| 返回值 | 类型 | Description |
|---|---|---|
| < quotient-result> | 整数 | 将第一个数字除以第二个数字的整数结果 |
示例
这两个示例将第一个数字除以第二个数字:
div(10, 5)
div(11, 5)
并返回以下结果: 2
encodeUriComponent
通过将 URL 不安全字符替换为转义字符来返回字符串的统一资源标识符(URI)编码版本。
请考虑使用 uriComponent(),而不是 encodeUriComponent().
尽管这两个函数的工作方式相同, uriComponent() 但首选。
encodeUriComponent('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换为 URI 编码格式的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < encoded-uri> | String | 包含转义字符的 URI 编码字符串 |
示例
此示例为此字符串创建 URI 编码版本:
encodeUriComponent('https://contoso.com')
并返回以下结果: "http%3A%2F%2Fcontoso.com"
空
检查集合是否为空。 如果集合为空,则返回 true;如果未为空,则返回 false。
empty('<collection>')
empty([<collection>])
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | 字符串、数组或对象 | 要检查的集合 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 当集合为空时返回 true。 如果未为空,则返回 false。 |
示例
这些示例检查指定的集合是否为空:
empty('')
empty('abc')
并返回以下结果:
- 第一个示例:传递空字符串,因此函数返回
true。 - 第二个示例:传递字符串“abc”,因此函数返回
false。
以……结束
检查字符串是否以特定的子字符串结尾。 找到子字符串时返回 true,如果未找到,则返回 false。 此函数不区分大小写。
endsWith('<text>', '<searchText>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 要检查的字符串 |
| < searchText> | 是的 | String | 要查找的结束子字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| 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>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < object1>、 <object2> | 是的 | 各种 | 要比较的值、表达式或对象 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 当两者等效时返回 true。 如果不是等效项,则返回 false。 |
示例
这些示例检查指定的输入是否等效。
equals(true, 1)
equals('abc', 'abcd')
并返回以下结果:
- 第一个示例:这两个值都是等效的,因此函数返回
true。 - 第二个示例:两个值都不等效,因此函数返回
false。
第一
从字符串或数组返回第一项。
first('<collection>')
first([<collection>])
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | 字符串或数组 | 要在其中查找第一项的集合 |
| 返回值 | 类型 | Description |
|---|---|---|
| < first-collection-item> | 任意 | 集合中的第一项 |
示例
这些示例查找这些集合中的第一项:
first('hello')
first(createArray(0, 1, 2))
并返回以下结果:
- 第一个示例:
"h" - 第二个示例:
0
float
将浮点数的字符串版本转换为实际的浮点数。
float('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 具有要转换的有效浮点数的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < float-value> | 漂浮 | 指定字符串的浮点数 |
示例
此示例为此浮点数创建字符串版本:
float('10.333')
并返回以下结果: 10.333
formatDateTime
以指定格式返回时间戳。
formatDateTime('<timestamp>', '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 间隔> | 是的 | 整数 | 要添加的指定时间单位数 |
| < timeUnit> | 是的 | String | 与 间隔一起使用的时间单位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 间隔> | 是的 | 整数 | 要减去的指定时间单位数 |
| < timeUnit> | 是的 | String | 与 间隔一起使用的时间单位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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”。 此示例减去 5 天,并将结果转换为“D”格式:
getPastTime(5, 'Day', 'D')
并返回以下结果: "Saturday, January 27, 2018"
大
检查第一个值是否大于第二个值。 当第一个值更多时返回 true,或返回 false(如果更少)。
greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 整数、浮点数或字符串 | 检查是否大于第二个值的第一个值 |
| < compareTo> | 是的 | 整数、浮点数或字符串分别 | 比较值 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 当第一个值大于第二个值时返回 true。 当第一个值等于或小于第二个值时返回 false。 |
示例
这些示例检查第一个值是否大于第二个值:
greater(10, 5)
greater('apple', 'banana')
并返回以下结果:
- 第一个示例:
true - 第二个示例:
false
greaterOrEquals
检查第一个值是否大于或等于第二个值。 当第一个值大于或等于时返回 true,或者在第一个值小于时返回 false。
greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 整数、浮点数或字符串 | 检查是否大于或等于第二个值的第一个值 |
| < compareTo> | 是的 | 整数、浮点数或字符串分别 | 比较值 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 当第一个值大于或等于第二个值时返回 true。 当第一个值小于第二个值时返回 false。 |
示例
这些示例检查第一个值是大于还是等于第二个值:
greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')
并返回以下结果:
- 第一个示例:
true - 第二个示例:
false
guid
以字符串的形式生成全局唯一标识符(GUID),例如“c2ecc88d-88c8-4096-912c-d6f2e2b138ce”:
guid()
此外,可以为 GUID 指定不同于默认格式“D”的格式,即用连字符分隔的 32 位数字。
guid('<format>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 格式> | 否 | String | 返回的 GUID 的单个 格式说明符 。 默认情况下,格式为“D”,但可以使用“N”、“D”、“B”、“P”或“X”。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < GUID-value> | String | 随机生成的 GUID |
示例
此示例生成相同的 GUID,但与 32 位数字相同,用连字符分隔,并括在括号中:
guid('P')
并返回以下结果: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"
if
检查表达式是 true 还是 false。 根据结果返回指定的值。
if(<expression>, <valueIfTrue>, <valueIfFalse>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 表达> | 是的 | 布尔 | 要检查的表达式 |
| < valueIfTrue> | 是的 | 任意 | 表达式为 true 时要返回的值 |
| < valueIfFalse> | 是的 | 任意 | 表达式为 false 时要返回的值 |
| 返回值 | 类型 | Description |
|---|---|---|
| < specified-return-value> | 任意 | 根据表达式是 true 还是 false 返回的指定值 |
示例
此示例返回 "yes" 是因为指定的表达式返回 true。
否则,该示例返回 "no":
if(equals(1, 1), 'yes', 'no')
indexOf
返回子字符串的起始位置或索引值。 此函数不区分大小写,索引以数字 0 开头。
indexOf('<text>', '<searchText>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 包含要查找的子字符串的字符串 |
| < searchText> | 是的 | String | 要查找的子字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < index-value> | 整数 | 指定子字符串的起始位置或索引值。 如果未找到字符串,则返回数字 -1。 |
示例
本示例在“hello world”字符串中查找“world”子字符串的起始索引值:
indexOf('hello world', 'world')
并返回以下结果: 6
int
返回字符串的整数版本。
int('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < integer-result> | 整数 | 指定字符串的整数版本 |
示例
此示例为字符串“10”创建整数版本:
int('10')
并返回以下结果: 10
json
返回字符串或 XML 的 JavaScript 对象表示法(JSON)类型值或对象。
json('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 字符串或 XML | 要转换的字符串或 XML |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>', ...)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < collection1>, <collection2>, ... | 是的 | 数组或对象,但不是两者 | 仅需要常用项的集合 |
| 返回值 | 类型 | Description |
|---|---|---|
| < common-items> | 数组或对象,分别 | 一个集合,该集合中只有指定集合中的通用项 |
示例
此示例查找这些数组中的常见项:
intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))
返回 仅 包含以下项的数组: [1, 2]
加入
返回一个字符串,其中包含数组中的所有项,并且每个字符由 分隔符分隔。
join([<collection>], '<delimiter>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | Array | 具有要联接的项的数组 |
| < 定界符> | 是的 | String | 在生成的字符串中的每个字符之间显示的分隔符 |
| 返回值 | 类型 | Description |
|---|---|---|
| < char1><定界符><char2><定界符>... | String | 从指定数组中的所有项创建的生成的字符串 |
示例
此示例使用指定字符作为分隔符从此数组中的所有项创建字符串:
join(createArray('a', 'b', 'c'), '.')
并返回以下结果: "a.b.c"
最后
从集合中返回最后一项。
last('<collection>')
last([<collection>])
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | 字符串或数组 | 要在其中查找最后一项的集合 |
| 返回值 | 类型 | Description |
|---|---|---|
| < last-collection-item> | 字符串或数组,分别 | 集合中的最后一项 |
示例
这些示例查找这些集合中的最后一项:
last('abcd')
last(createArray(0, 1, 2, 3))
并返回以下结果:
- 第一个示例:
"d" - 第二个示例:
3
lastIndexOf
返回子字符串的最后一个匹配项的起始位置或索引值。 此函数不区分大小写,索引以数字 0 开头。
lastIndexOf('<text>', '<searchText>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 包含要查找的子字符串的字符串 |
| < searchText> | 是的 | String | 要查找的子字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < ending-index-value> | 整数 | 指定子字符串的最后一个匹配项的起始位置或索引值。 如果未找到字符串,则返回数字 -1。 |
示例
本示例查找“hello world”字符串中“world”子字符串的最后一个匹配项的起始索引值:
lastIndexOf('hello world', 'world')
并返回以下结果: 6
length
返回集合中的项数。
length('<collection>')
length([<collection>])
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | 字符串或数组 | 包含要计数的项的集合 |
| 返回值 | 类型 | Description |
|---|---|---|
| < length-or-count> | 整数 | 集合中的项数 |
示例
这些示例计算这些集合中的项数:
length('abcd')
length(createArray(0, 1, 2, 3))
并返回以下结果: 4
少
检查第一个值是否小于第二个值。 当第一个值较少时返回 true,或者在第一个值更多时返回 false。
less(<value>, <compareTo>)
less('<value>', '<compareTo>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 整数、浮点数或字符串 | 检查是否小于第二个值的第一个值 |
| < compareTo> | 是的 | 整数、浮点数或字符串分别 | 比较项 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 当第一个值小于第二个值时返回 true。 当第一个值等于或大于第二个值时返回 false。 |
示例
这些示例检查第一个值是否小于第二个值。
less(5, 10)
less('banana', 'apple')
并返回以下结果:
- 第一个示例:
true - 第二个示例:
false
lessOrEquals
检查第一个值是否小于或等于第二个值。 当第一个值小于或等于时返回 true,或者在第一个值更多时返回 false。
lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 整数、浮点数或字符串 | 检查第一个值是否小于或等于第二个值 |
| < compareTo> | 是的 | 整数、浮点数或字符串分别 | 比较项 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 当第一个值小于或等于第二个值时返回 true。 当第一个值大于第二个值时返回 false。 |
示例
这些示例检查第一个值是否小于或等于第二个值。
lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')
并返回以下结果:
- 第一个示例:
true - 第二个示例:
false
最大值
返回列表或数组中的最大值,其中包含两端包含的数字。
max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < number1>、 <number2>、... | 是的 | 整数、浮点数或两者 | 要从中获取最大值的数字集 |
| [<number1>, <number2>, ...] | 是的 | 数组 - 整数、浮点数或两者 | 要从中获取最大值的数字数组 |
| 返回值 | 类型 | Description |
|---|---|---|
| < max-value> | 整数或浮点数 | 指定数组或数字集中的最高值 |
示例
这些示例从数字集和数组中获取最高值:
max(1, 2, 3)
max(createArray(1, 2, 3))
并返回以下结果: 3
分钟
从一组数字或数组中返回最小值。
min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < number1>、 <number2>、... | 是的 | 整数、浮点数或两者 | 要从中获取最小值的数字集 |
| [<number1>, <number2>, ...] | 是的 | 数组 - 整数、浮点数或两者 | 要从中获取最小值的数字数组 |
| 返回值 | 类型 | Description |
|---|---|---|
| < min-value> | 整数或浮点数 | 指定数字集或指定数组中的最小值 |
示例
这些示例获取数字集和数组中的最小值:
min(1, 2, 3)
min(createArray(1, 2, 3))
并返回以下结果: 1
mod
返回除以两个数字的余数。 若要获取整数结果,请参阅 div()。
mod(<dividend>, <divisor>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 股利> | 是的 | 整数或浮点数 | 要除以除数的数字 |
| < 除数> | 是的 | 整数或浮点数 | 除 分红的数字,但不能为 0。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < modulo-result> | 整数或浮点数 | 将第一个数字除以第二个数字的余数 |
示例
此示例将第一个数字除以第二个数字:
mod(3, 2)
并返回以下结果: 1
mul
返回乘以两个数字的产品。
mul(<multiplicand1>, <multiplicand2>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < multiplicand1> | 是的 | 整数或浮点数 | 乘以 multiplicand2 的数字 |
| < multiplicand2> | 是的 | 整数或浮点数 | 倍数乘数 1 的数字 |
| 返回值 | 类型 | Description |
|---|---|---|
| < product-result> | 整数或浮点数 | 将第一个数字乘以第二个数字的产品 |
示例
这些示例将第一个数字乘以第二个数字:
mul(1, 2)
mul(1.5, 2)
并返回以下结果:
- 第一个示例:
2 - 第二个示例
3
不
检查表达式是否为 false。 如果表达式为 false,则返回 true;如果为 true,则返回 false。
not(<expression>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 表达> | 是的 | 布尔 | 要检查的表达式 |
| 返回值 | 类型 | Description |
|---|---|---|
| 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>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < expression1,expression2><> | 是的 | 布尔 | 要检查的表达式 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 如果至少有一个表达式为 true,则返回 true。 当两个表达式均为 false 时返回 false。 |
示例 1
这些示例检查至少一个表达式是否为 true:
or(true, false)
or(false, false)
并返回以下结果:
- 第一个示例:至少有一个表达式为 true,因此函数返回
true。 - 第二个示例:两个表达式均为 false,因此函数返回
false。
示例 2
这些示例检查至少一个表达式是否为 true:
or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))
并返回以下结果:
- 第一个示例:至少有一个表达式为 true,因此函数返回
true。 - 第二个示例:两个表达式均为 false,因此函数返回
false。
兰特
从指定范围返回一个随机整数,该整数仅在起始端包含。
rand(<minValue>, <maxValue>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < minValue> | 是的 | 整数 | 范围中最低的整数 |
| < maxValue> | 是的 | 整数 | 函数可以返回的范围中最高整数后面的整数 |
| 返回值 | 类型 | Description |
|---|---|---|
| < random-result> | 整数 | 从指定范围返回的随机整数 |
示例
此示例从指定范围中获取一个随机整数,不包括最大值:
rand(1, 5)
并返回以下数字之一:1、、2或 34
范围
返回从指定整数开始的整数数组。
range(<startIndex>, <count>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < startIndex> | 是的 | 整数 | 将数组作为第一项启动的整数值 |
| < 计数> | 是的 | 整数 | 数组中的整数数 |
| 返回值 | 类型 | Description |
|---|---|---|
| [<range-result>] | Array | 包含从指定索引开始的整数的数组 |
示例
此示例创建一个整数数组,该数组从指定的索引开始,并具有指定的整数数:
range(1, 4)
并返回以下结果: [1, 2, 3, 4]
替换
将子字符串替换为指定的字符串,并返回结果字符串。 此函数区分大小写。
replace('<text>', '<oldText>', '<newText>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 包含要替换的子字符串的字符串 |
| < oldText> | 是的 | String | 要替换的子字符串 |
| < newText> | 是的 | String | 替换字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updated-text> | String | 替换子字符串后更新的字符串 如果未找到子字符串,则返回原始字符串。 |
示例
本示例在“旧字符串”中找到“old”子字符串,并将“old”替换为“new”:
replace('the old string', 'old', 'new')
并返回以下结果: "the new string"
跳过
从集合的前面删除项,并返回 所有其他 项。
skip([<collection>], <count>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | Array | 要删除其项的集合 |
| < 计数> | 是的 | 整数 | 前方要移除的项数的正整数 |
| 返回值 | 类型 | Description |
|---|---|---|
| [<updated-collection>] | Array | 删除指定项后更新的集合 |
示例
此示例从指定数组的前面删除一个项,即数字 0:
skip(createArray(0, 1, 2, 3), 1)
并返回包含剩余项的此数组: [1,2,3]
拆分
返回一个数组,该数组包含子字符串,用逗号分隔,基于原始字符串中的指定分隔符字符。
split('<text>', '<delimiter>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 要根据原始字符串中的指定分隔符分隔为子字符串的字符串 |
| < 定界符> | 是的 | String | 要用作分隔符的原始字符串中的字符 |
| 返回值 | 类型 | Description |
|---|---|---|
| [<substring1,substring2><>,...] | Array | 包含原始字符串中的子字符串的数组,用逗号分隔 |
示例
此示例基于指定字符创建一个数组,该数组基于指定字符作为分隔符从指定字符串创建子字符串:
split('a_b_c', '_')
并返回此数组作为结果: ["a","b","c"]
startOfDay
返回时间戳的当天开始时间。
startOfDay('<timestamp>', '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updated-timestamp> | String | 指定的时间戳,但从当天的零小时标记开始 |
示例
此示例查找此时间戳的开始时间:
startOfDay('2018-03-15T13:30:30Z')
并返回以下结果: "2018-03-15T00:00:00.0000000Z"
startOfHour
返回时间戳的小时开始时间。
startOfHour('<timestamp>', '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updated-timestamp> | String | 指定的时间戳,但从小时零分钟标记开始 |
示例
此示例查找此时间戳的小时开始时间:
startOfHour('2018-03-15T13:30:30Z')
并返回以下结果: "2018-03-15T13:00:00.0000000Z"
startOfMonth
返回时间戳的月份开始。
startOfMonth('<timestamp>', '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updated-timestamp> | String | 指定的时间戳,但从月份的第一天开始,以零小时标记开始 |
示例
此示例返回此时间戳的月份开始:
startOfMonth('2018-03-15T13:30:30Z')
并返回以下结果: "2018-03-01T00:00:00.0000000Z"
以...开始
检查字符串是否以特定的子字符串开头。 找到子字符串时返回 true,如果未找到,则返回 false。 此函数不区分大小写。
startsWith('<text>', '<searchText>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 要检查的字符串 |
| < searchText> | 是的 | String | 要查找的起始字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| True 或 False | 布尔 | 找到起始子字符串时返回 true。 如果未找到,则返回 false。 |
示例 1
此示例检查“hello world”字符串是否以“hello”子字符串开头:
startsWith('hello world', 'hello')
并返回以下结果: true
示例 2
此示例检查“hello world”字符串是否以“greetings”子字符串开头:
startsWith('hello world', 'greetings')
并返回以下结果: false
字符串
返回值的字符串版本。
string(<value>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | 任意 | 要转换的值 |
| 返回值 | 类型 | Description |
|---|---|---|
| < string-value> | String | 指定值的字符串版本 |
示例 1
此示例为此数字创建字符串版本:
string(10)
并返回以下结果: "10"
示例 2
此示例为指定的 JSON 对象创建一个字符串,并使用反斜杠字符 (\) 作为双引号 () 的转义字符。
string( { "name": "Sophie Owen" } )
并返回以下结果: "{ \\"name\\": \\"Sophie Owen\\" }"
子项
返回从第一个数字中减去第二个数字的结果。
sub(<minuend>, <subtrahend>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 被减数> | 是的 | 整数或浮点数 | 从中减去减的数值 |
| < 减数> | 是的 | 整数或浮点数 | 要从 minuend 中减去的数字 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 结果> | 整数或浮点数 | 从第一个数字中减去第二个数字的结果 |
示例
此示例从第一个数字中减去第二个数字:
sub(10.3, .3)
并返回以下结果: 10
substring
从指定位置或索引开始返回字符串中的字符。 索引值以数字 0 开头。
substring('<text>', <startIndex>, <length>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 所需字符的字符串 |
| < startIndex> | 是的 | 整数 | 正数等于或大于 0,用作起始位置或索引值 |
| < 长度> | 是的 | 整数 | 子字符串中所需的正数字符数 |
| 返回值 | 类型 | Description |
|---|---|---|
| < substring-result> | String | 具有指定字符数的子字符串,从源字符串中的指定索引位置开始 |
示例
此示例从指定的字符串创建五个字符的子字符串,从索引值 6 开始:
substring('hello world', 6, 5)
并返回以下结果: "world"
subtractFromTime
从时间戳中减去一些时间单位。 另请参阅 getPastTime。
subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 包含时间戳的字符串 |
| < 间隔> | 是的 | 整数 | 要减去的指定时间单位数 |
| < timeUnit> | 是的 | String | 与 间隔一起使用的时间单位:“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”、“Year” |
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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('<collection>', <count>)
take([<collection>], <count>)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 收集> | 是的 | 字符串或数组 | 所需项的集合 |
| < 计数> | 是的 | 整数 | 要从前面获取的项数的正整数 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 子集> 或 [<子集>] | 字符串或数组,分别 | 一个字符串或数组,其中包含从原始集合前面获取的指定数量的项 |
示例
这些示例从这些集合的前面获取指定的项数:
take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)
并返回以下结果:
- 第一个示例:
"abc" - 第二个示例:
[0, 1, 2]
蜱
返回 ticks 指定时间戳的属性值。
刻度是 100 纳秒间隔。
ticks('<timestamp>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 时间戳> | 是的 | String | 时间戳的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < ticks-number> | 整数 | 自输入时间戳以来,公历中自 12:00:00:00 午夜起经过的刻度数 |
toLower
以小写格式返回字符串。 如果字符串中的字符没有小写版本,则返回的字符串中该字符保持不变。
toLower('<text>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 要以小写格式返回的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < lowercase-text> | String | 采用小写格式的原始字符串 |
示例
此示例将此字符串转换为小写:
toLower('Hello World')
并返回以下结果: "hello world"
toUpper
以大写格式返回字符串。 如果字符串中的字符没有大写版本,该字符在返回的字符串中保持不变。
toUpper('<text>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 要以大写格式返回的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < uppercase-text> | String | 采用大写格式的原始字符串 |
示例
此示例将此字符串转换为大写:
toUpper('Hello World')
并返回以下结果: "HELLO WORLD"
剪裁
从字符串中删除前导空格和尾随空格,并返回更新后的字符串。
trim('<text>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 发短信> | 是的 | String | 包含要删除的前导空格和尾随空格的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updatedText> | String | 原始字符串的更新版本,不带前导或尾随空格 |
示例
本示例从字符串“Hello World”中删除前导空格和尾随空格:
trim(' Hello World ')
并返回以下结果: "Hello World"
并
返回包含指定集合 中的所有 项的集合。 若要出现在结果中,项可以出现在传递给此函数的任何集合中。 如果一个或多个项具有相同的名称,则结果中会显示具有该名称的最后一项。
union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < collection1>, <collection2>, ... | 是的 | 数组或对象,但不是两者 | 要从中获取 所有 项的集合 |
| 返回值 | 类型 | Description |
|---|---|---|
| < updatedCollection> | 数组或对象,分别 | 包含指定集合中所有项的集合 - 无重复项 |
示例
此示例从这些集合中获取 所有 项:
union(createArray(1, 2, 3), createArray(1, 2, 10, 101))
并返回以下结果: [1, 2, 3, 10, 101]
uriComponent
通过将 URL 不安全字符替换为转义字符来返回字符串的统一资源标识符(URI)编码版本。
使用此函数,而不是 encodeUriComponent()。
尽管这两个函数的工作方式相同, uriComponent() 但首选。
uriComponent('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换为 URI 编码格式的字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < encoded-uri> | String | 包含转义字符的 URI 编码字符串 |
示例
此示例为此字符串创建 URI 编码版本:
uriComponent('https://contoso.com')
并返回以下结果: "http%3A%2F%2Fcontoso.com"
uriComponentToBinary
返回统一资源标识符(URI)组件的二进制版本。
uriComponentToBinary('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要转换的 URI 编码字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < binary-for-encoded-uri> | String | URI 编码字符串的二进制版本。 二进制内容是 base64 编码的,由 |
示例
此示例为此 URI 编码字符串创建二进制版本:
uriComponentToBinary('http%3A%2F%2Fcontoso.com')
并返回以下结果:
"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"
uriComponentToString
返回统一资源标识符(URI)编码字符串的字符串版本,有效解码 URI 编码的字符串。
uriComponentToString('<value>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 要解码的 URI 编码字符串 |
| 返回值 | 类型 | Description |
|---|---|---|
| < decoded-uri> | String | URI 编码字符串的解码版本 |
示例
此示例为此 URI 编码的字符串创建解码的字符串版本:
uriComponentToString('http%3A%2F%2Fcontoso.com')
并返回以下结果: "https://contoso.com"
utcNow
返回当前时间戳。
utcNow('<format>')
(可选)可以使用格式参数指定不同的<>。
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 格式> | 否 | String | 单个格式说明符或自定义格式模式。 时间戳的默认格式为 “o” (yyyy-MM-ddTHH:mm:ss.fffffffK),符合 ISO 8601 并保留时区信息。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < 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>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < 价值> | 是的 | String | 包含要转换的 JSON 对象的字符串 JSON 对象必须只有一个根属性,不能是数组。 将反斜杠字符 (\) 用作双引号 () 的转义字符。 |
| 返回值 | 类型 | Description |
|---|---|---|
| < xml-version> | 物体 | 指定字符串或 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>')
| 参数 | 必选 | 类型 | Description |
|---|---|---|---|
| < xml> | 是的 | 任意 | 要搜索与 XPath 表达式值匹配的节点或值的 XML 字符串 |
| < xpath> | 是的 | 任意 | 用于查找匹配的 XML 节点或值的 XPath 表达式 |
| 返回值 | 类型 | Description |
|---|---|---|
| < xml-node> | XML | 仅当单个节点与指定的 XPath 表达式匹配时,XML 节点 |
| < 价值> | 任意 | 仅当单个值与指定的 XPath 表达式匹配时,来自 XML 节点的值 |
| [<xml-node1>, <xml-node2>, ...] -or- [<value1>, <value2>, ...] |
Array | 具有与指定 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\"]')表达式 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 中的数据工厂的参数