数据转换函数参考

所有数据转换函数,按类别分组

这是数据转换函数的完整目录。大多数用户可以通过任意文本输入框中的 / 斜杠触发来使用它们——详细介绍请参阅数据转换。

语法

function_name(arg1; arg2; arg3)
  • 参数之间使用分号(;) 分隔,而非逗号。
  • 参数类型在编辑时会进行检查;类型不匹配会在输入框下方的预览面板中显示。
  • 函数可以自由嵌套——任何参数都可以是另一个函数。
  • 文本参数周围的引号是可选的(combine(John; Smith) 和 combine("John"; "Smith") 都有效),但空值或仅含空白的值除外——空字符串使用 "",单个空格分隔符使用 " "。

文本

处理字符串的函数。

函数签名描述示例
combinecombine(text1; text2; separator)将两个或多个值连接成一段文本。combine(John; Smith; " ") → John Smith
uppercaseuppercase(text)将所有字符转换为大写。uppercase(acme inc) → ACME INC
lowercaselowercase(text)将所有字符转换为小写。lowercase(John@ACME.com) → john@acme.com
titlecasetitlecase(text)将每个单词的首字母大写。titlecase(john smith) → John Smith
trimtrim(text)移除开头和结尾的空格字符。trim( Hello World ) → Hello World
prefixprefix(text; value)在值之前添加文本。prefix(10042; ORD-) → ORD-10042
suffixsuffix(text; value)在值之后添加文本。suffix(Acme; " Ltd.") → Acme Ltd.
replacereplace(text; find; with)查找某个单词或字符并将其替换为另一个。replace(first_name; "_"; " ") → first name
removeremove(text; value)删除某个字符或单词的所有出现。remove(004-420-712; "-") → 004420712
first_nfirst_n(text; n)仅返回前 N 个字符。first_n(Jonathan; 3) → Jon
last_nlast_n(text; n)仅返回后 N 个字符。last_n(ACC-7890; 4) → 7890
truncatetruncate(text; n)将文本截断为 N 个字符并在末尾添加 ...。truncate(Annual Revenue Report; 14) → Annual Revenue...
splitsplit(text; separator; index)将文本分割成多个部分并返回其中一个。split(John Smith; " "; 0) → John
extract_betweenextract_between(text; start; end)返回两个标记之间的文本。extract_between(Status [urgent]; "["; "]") → urgent
extract_emailextract_email(text)查找并返回文本中的第一个电子邮件地址。extract_email(Contact john@acme.com for help) → john@acme.com
extract_urlextract_url(text)查找并返回文本中的第一个 URL。extract_url(Visit https://acme.com today) → https://acme.com
lengthlength(text)计算文本中的字符数。length(Hello World) → 11
containscontains(text; value)检查文本中是否包含特定单词或字符。contains(bug, urgent, backend; urgent) → TRUE
starts_withstarts_with(text; value)检查文本是否以特定值开头。starts_with(support@acme.com; info@) → FALSE
ends_withends_with(text; value)检查文本是否以特定值结尾。ends_with(report.pdf; .pdf) → TRUE
remove_spacesremove_spaces(text)移除文本中所有多余的空格和换行符。remove_spaces(hello world) → hello world
word_countword_count(text)计算文本中的单词数。word_count(The quick brown fox) → 4

数字

用于算术运算和格式化数值的函数。

函数签名描述示例
addadd(num1; num2)将两个数字相加。add(49.99; 5.00) → 54.99
subtractsubtract(num1; num2)从第一个数字中减去第二个数字。subtract(100.00; 10.50) → 89.5
multiplymultiply(num1; num2)将两个数字相乘。multiply(3; 49.99) → 149.97
dividedivide(num1; num2)将第一个数字除以第二个数字。divide(4999; 100) → 49.99
roundround(number; decimals)将数字四舍五入到指定的小数位数。round(49.9871; 2) → 49.99
round_upround_up(number)始终向上取整为下一个整数。round_up(7.1) → 8
round_downround_down(number)始终向下取整为前一个整数。round_down(7.9) → 7
absoluteabsolute(number)返回数字的正数版本,去除负号。absolute(-42.00) → 42
percentagepercentage(value; total)计算该值占总数的百分比。percentage(75; 100) → 75%
format_numberformat_number(number; decimals)添加千位分隔符,使大数字更易读。format_number(1250000; 2) → 1,250,000.00
format_currencyformat_currency(number; symbol)添加货币符号并格式化数字。format_currency(49.99; "$") → $49.99
cents_to_dollarscents_to_dollars(number)将以美分存储的值转换为美元。cents_to_dollars(4999) → $49.99
minmin(num1; num2)返回两个数字中较小的一个。min(87; 100) → 87
maxmax(num1; num2)返回两个数字中较大的一个。max(-5; 0) → 0
to_numberto_number(text)将文本值转换为可用于计算的数字。to_number(1990) → 1990

日期

处理日期和时间的函数。

函数签名描述示例
format_dateformat_date(date; format)使用您选择的格式更改日期的显示方式。format_date(2025-01-15; MMM DD, YYYY) → Jan 15, 2025
format_date_longformat_date_long(date)以通俗语言完整显示日期。format_date_long(2025-01-15) → 2025年1月15日 星期五
format_timeformat_time(date; format)从日期中提取时间并格式化。format_time(2025-01-15T14:30:00Z; h:mm A) → 2:30 PM
relative_timerelative_time(date)显示日期距今或未来有多久。relative_time(2025-01-12) → 3 天前
add_daysadd_days(date; n)为日期增加指定天数。add_days(2025-01-15; 30) → Feb 14, 2025
subtract_dayssubtract_days(date; n)从日期减去指定天数。subtract_days(2025-01-15; 7) → Jan 08, 2025
add_hoursadd_hours(date; n)为日期时间增加指定小时数。add_hours(2025-01-15T14:30:00Z; 2) → 2025-01-15T16:30:00Z
days_betweendays_between(date1; date2)计算两个日期之间的天数。days_between(2025-01-01; 2025-01-15) → 14
get_dayget_day(date)从日期中返回天数(1–31)。get_day(2025-01-15) → 15
get_monthget_month(date)从日期中返回月份。get_month(2025-01-15) → January
get_yearget_year(date)从日期中返回年份。get_year(2025-01-15) → 2025
get_day_of_weekget_day_of_week(date)返回星期几的名称。get_day_of_week(2025-01-15) → 星期三
start_of_monthstart_of_month(date)返回同月的第一天。start_of_month(2025-01-15) → Jan 01, 2025
end_of_monthend_of_month(date)返回同月的最后一天。end_of_month(2025-01-15) → Jan 31, 2025
convert_timezoneconvert_timezone(date; timezone)将日期时间从一个时区转换到另一个时区。convert_timezone(2025-01-15T14:30:00Z; America/New_York) → Jan 15, 9:30 AM EST
nownow()返回工作流运行时刻的当前日期和时间。now() → 2025-01-15T14:30:00Z
todaytoday()返回今天的日期,不包含时间。today() → 2025-01-15
to_dateto_date(text)将文本值转换为工作流可以处理的日期格式。to_date(January 15, 2025) → 2025-01-15T00:00:00Z

列表

处理集合(项目数组)的函数。

函数签名描述示例
filter_listfilter_list(list; field; value)仅保留指定字段值匹配的项目。filter_list(tickets; status; open) → [共10项中的3项]
sort_listsort_list(list; field; order)按指定字段对列表从高到低或从 A 到 Z 排序。sort_list(orders; amount; desc) → [排序后: 500, 200, 50]
pluckpluck(list; field)从列表的每个项目中提取指定字段。pluck(users; email) → [ana@x.com, bob@x.com]
join_listjoin_list(list; separator)使用分隔符将列表转换为一段文本。join_list([bug;urgent;backend]; ", ") → bug, urgent, backend
first_itemfirst_item(list)返回列表中的第一项。first_item([apple;banana;cherry]) → apple
last_itemlast_item(list)返回列表中的最后一项。last_item([apple;banana;cherry]) → cherry
item_atitem_at(list; index)返回列表中指定位置的项目。item_at([apple;banana;cherry]; 1) → banana
countcount(list)计算列表中有多少个项目。count([bug;urgent;backend]) → 3
sumsum(list; field)对列表中所有项目的某个数字字段求和。sum(orders; amount) → 4820.5
averageaverage(list; field)计算列表中所有项目某个数字字段的平均值。average(scores; value) → 82.4
max_in_listmax_in_list(list; field)查找列表中所有项目某个字段的最高值。max_in_list(orders; amount) → 1200
min_in_listmin_in_list(list; field)查找列表中所有项目某个字段的最低值。min_in_list(orders; amount) → 9.99
deduplicatededuplicate(list; field)移除指定字段值重复的项目。deduplicate(leads; email) → [共10项中的7项]
flattenflatten(list)将列表的列表展平为一个列表。flatten([[a;b];[c;d]]) → [a,b,c,d]
split_text_to_listsplit_text_to_list(text; separator)将逗号分隔的文本转换为项目列表。split_text_to_list(bug,urgent,backend; ",") → [bug,urgent,backend]

逻辑

用于条件判断、比较和回退的函数。

函数签名描述示例
ifif(condition; true_value; false_value)如果条件为真返回一个值,否则返回另一个值。if(1500 > 1000; 高价值; 标准) → 高价值
if_emptyif_empty(value; fallback)如果字段为空则使用回退值。if_empty(""; 无名称) → 无名称
if_nullif_null(value; fallback)如果字段没有任何值则使用回退值。if_null(null; N/A) → N/A
switchswitch(value; key1; result1; key2; result2; ...)将值映射为另一个值——类似内联查找表。switch(US; US; 北美; DE; 欧洲) → 北美
is_emptyis_empty(value)检查字段是否有值。is_empty("") → TRUE
is_not_emptyis_not_empty(value)检查字段是否有任何值。is_not_empty(john@acme.com) → TRUE
is_equalis_equal(value1; value2)检查两个值是否完全相同。is_equal(active; active) → TRUE
andand(condition1; condition2)仅当两个条件同时为真时返回真。and(25 >= 18; US = US) → TRUE
oror(condition1; condition2)如果至少有一个条件为真则返回真。or(standard = vip; 600 > 500) → TRUE
notnot(condition)将真值翻转为假值,或将假值翻转为真值。not(is_empty(john@acme.com)) → TRUE
coalescecoalesce(value1; value2; value3; ...)返回第一个有值的字段,跳过任何空值。coalesce(""; John; User) → John

已弃用的函数

目前没有函数处于弃用状态。当某个函数被替换或计划移除时,它会出现在这里,并附带推荐的替代函数及其将被移除的版本。使用已弃用函数的已保存工作流会继续运行——编辑器仅通过显示带删除线的标签来标记问题。