表达式中支持的操作

操作符可参与变量与常量之间的比较或计算。

分类 操作 说明
逻辑操作 = 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
数学操作 +
-
*
/


表达式中支持的函数

统计函数

函数 返回类型 说明 示例 结果
COUNT(表格, [统计条件]) number 返回指定表格中满足条件的数据条数。统计条件中不可嵌套使用统计函数。 COUNT({员工表}, {员工表.性别} = [{C:男}])
SUM(数字字段, [统计条件]) number 返回指定表格中满足条件的数据,其指定数字字段值的总和。统计条件中不可嵌套使用统计函数。 SUM({员工表.工资})
AVG(数字字段, [统计条件]) number 返回指定表格中满足条件的数据,其指定数字字段值的平均值。统计条件中不可嵌套使用统计函数。 AVG({员工表.工资})
MIN(字段, [统计条件]) number 返回指定表格中满足条件的数据,其指定数字、日期、文本字段值的最小值。统计条件中不可嵌套使用统计函数。 MIN({员工表.工资})
MIN({员工表.出生日期})
MAX(字段, [统计条件]) number 返回指定表格中满足条件的数据,其指定数字、日期、文本字段值的最大值。统计条件中不可嵌套使用统计函数。 MAX({员工表.工资})
MAX({员工表.出生日期})


逻辑函数

函数 返回类型 说明 示例 结果
IF(条件, 表达式1, 表达式2) 如果条件为真,则执行表达式1,为假则执行表达式2。条件中不可嵌套使用IF函数。 IF({员工表.年龄} > 60, '退休', '在职')
IF({员工表.年龄} > 60, IF({员工表.性别} = [{C:女}], '退休', '在职'), '在职')
AND(条件1, 条件2, [条件3, …]) boolean 所有条件均为真,则返回真,否则返回假。 AND(2 = 2, 2 < 2) FALSE
OR(条件1, 条件2, [条件3, …]) boolean 任意一个条件为真,则返回真,否则返回假。 OR(2 = 2, 2 > 3) TRUE
NOT(逻辑结果) boolean 对逻辑结果取反。 NOT(2 > 3) TRUE
IN(变量, [变量1, 变量2, …]) boolean 任意类型的变量或常量包含一组同类型变量或常量结果中的任意一个,则返回真。用于选项、用户、关联类型的字段变量与常量的比较。 IN(2, [2, 3, 4])
IN([2, 5], [2, 3, 4])
TRUE
TRUE
LIKE(文本, [文本1, 文本2, …]) boolean 文本类型的变量或常量包含一组文本类型变量或常量结果中的任意一个,则返回真。逻辑操作LIKE的函数模式。 LIKE('伙伴办公', ['伙伴', '办公']) TRUE
ISEMPTY(变量) boolean 变量为空或未填写,则返回真。 ISEMPTY({员工表.电话})


数学函数

函数 返回类型 说明 示例 结果
ABS(数值) number 返回数值的绝对值。 ABS(-2) 2
ROUND(数值, [小数位精确度]) number 根据设置的小数位精确度,返回对数值四舍五入后的值。小数位精确度默认为0,即只保留整数。 ROUND(3.44, 1)
ROUND(3.5)
3.4
4
INT(数值) number 舍掉小数位后,返回整数部分。 INT(3.44) 3
MOD(数值, 除数) number 用数值除以除数后,返回整除后的余数。 MOD(10, 3) 1


日期函数

函数 返回类型 说明 示例 结果
TODAY() datetime 返回当天日期。 TODAY() 2016-12-17
NOW() datetime 返回当天日期+时间。 NOW() 2016-12-17 15:02:27
DATEADD(日期, 数值, [单位]) datetime 对日期加减按照单位加减。单位默认为日,可选单位:年Y、月M、日D、时H、分I、秒S。 DATEADD('2016-12-04', 3)
DATEADD('2016-12-04 20:00:00', 3, 'H')
2016-12-07
2016-12-04 23:00:00
DATEDIF(日期1, 日期2, [单位]) number 根据指定的单位,返回日期2减去日期1的差值。当日期2小于日期1时,差值为负值。单位默认为日,可选单位:年Y、月M、日D、时H、分I、秒S。 DATEDIF('2016-12-01', '2016-12-04')
DATEDIF('2016-12-04 20:00:00', '2016-12-05 20:00:00', 'H')
3
24
DATEFORMAT(日期, 格式) text 将日期转为指定格式返回。格式包括:
年:YYYY (=2016)、YY (=16)
月:MM (=01~12)
日:DD (=01~31)
时:HH (=00~23)
分:Mi (=00~59)
秒:SS (=00~59)
周几:D (=1~7,代表周日~周六)
每月中第几周:W (=1~5,从每月第1天开始算第1周)
每年中第几周:WW (=1~53,从每年第1天开始算第1周)
DATEFORMAT('2016-12-04', 'YY年MM月DD日 星期WD') 16年12月04日 星期日
YEAR(日期) number 返回指定日期中的年。 YEAR('2016-12-04') 2016
MONTH(日期) number 返回指定日期中的月。 MONTH('2016-12-04') 12
DAY(日期) number 返回指定日期中的日。 DAY('2016-12-04') 4
HOUR(日期) number 返回指定日期中的小时。 HOUR('2016-12-04 20:30:56') 20
MINUTE(日期) number 返回指定日期中的分钟。 MINUTE('2016-12-04 20:30:56') 30
SECOND(日期) number 返回指定日期中的秒。 SECOND('2016-12-04 20:30:56') 56
WEEKNUM(日期) number 返回指定日期为第几周,从每年第1天开始算第1周。 WEEKNUM('2016-12-04') 50
WEEKDAY(日期) number 返回指定日期为星期几。返回值为1~7,代表周日~周六。 WEEKDAY('2016-12-04') 1


文本函数

函数 返回类型 说明 示例 结果
CONCAT(文本1, 文本2, [文本3, …]) text 可用于连接多个任意类型的文本、日期、数字变量或常量。 CONCAT({总价}/10000, '万元')
TEXT(变量) text 将变量转为文本。 TEXT({性别})
VALUE(文本) number 将文本转为数字。 VALUE('23元') 23
LEN(文本) number 返回文本的长度,中文、英文都算1个字符。 LEN('伙伴办公 huoban') 11
SEARCH(关键字, 文本, [搜索开始位置]) number 在指定文本中查找关键字,返回第一次出现关键字的字符位置,文本的第一个字记为1。未找到,返回0。搜索开始位置,表示从文本的第几个字符开始搜索,默认为1。 SEARCH('伙伴', '伙伴办公伙伴办公')
SEARCH('伙伴', '伙伴办公伙伴办公', 4)
1
4
REPLACE(原文本, 替换开始位置, 替换字符数, 新文本) text 在原文本中,从替换位置开始,往后数指定的替换字符数,将这段文本替换为新文本。 REPLACE('伙伴办公', 1, 2, 'huoban') huoban办公
REPT(文本, 重复次数) text 将文本重复指定次数。 REPT('伙伴', 2) 伙伴伙伴
PAD(原文本, 长度, 填充用的文本, 填充位置) text 将原文本填充到指定长度,如果文本长度大于设置的长度,则不做任何操作。 PAD('1', 4, '0', 'LEFT') 0001
TRIM(文本) text 删除文本首尾的空格。 TRIM(' 伙伴办公 ') 伙伴办公
LEFT(文本, 截取字符数) text 从文本左侧开始,返回指定字符数的文字。 LEFT('伙伴办公', 2) 伙伴
RIGHT(文本, 截取字符数) text 从文本右侧开始,返回指定字符数的文字。 RIGHT('伙伴办公', 2) 办公
MID(文本, 开始位置, 截取字符数) text 从文本指定位置开始,返回指定字符数的文字。 MID('伙伴办公', 2, 2) 伴办


数组函数

函数 返回类型 说明 示例 结果
MERGE(数组1, 数组2, …) array 用于多选字段,将多个多选结果去重拼接到一起。数组使用方括号“[值1, 值2, …]”表示,选项、用户、关联字段,单选和多选的结果均为数组。 MERGE([{C:选项一}, {C:选项二}], [{C:选项三}], {目标数据.选项字段})
如果目标数据的“选项字段”选择的是“选项四”
[{C:选项一}, {C:选项二}, {C:选项三}, {C:选项四}]
APPEND(原组数, 元素1, 元素2, …) array 向多选的选项、成员、关联中追加元素,元素可以是字段变量或具体的值。 APPEND({目标数据.负责人}, {当前数据.成员}, {U:张三})
REMOVE(原数组, 元素1, 元素2, …) array 从多选的选项、成员、关联中移除元素,元素可以是字段变量或具体的值。 REMOVE({目标数据.负责人}, {当前数据.成员}, {U:张三})
ARRLEN(数组) number 返回数组中的元素个数,数组可以是多选字段或图片/附件。 ARRLEN({目标数据.参与人}) 10


特殊函数

函数 返回类型 说明 示例 结果
EMPTY() null 返回空值 EMPTY()
INCREMENT([重置方式]) number 基于表格,返回自增编号,编号从1开始,每次执行加1。工作流的每个后续动作中只能使用一次自增函数。
重置方式,用于按照指定的周期,将增长的编号重新设置为1,可选方式包括:
- 不重置:A(默认值,从1开始自增,不会重置)
- 按日重置:D(每天自增编号重置为1)
- 按月重置:M(每月第一天自增编号重置为1)
- 按年重置:Y(每年第一天自增编号重置为1)
INCREMENT('A') 1
OPTION(选项字段, 变量) category 根据变量获取指定选项字段的备选项。 OPTION({目标表格.性别}, {当前数据.性别})
ITEM(表格, 条件, [排序], [返回字段]) item / 字段的值 根据条件和排序获取指定表格中的一条数据,还可指定返回该数据哪个字段的值。无需条件时请写两个单引号''。排序默认按照创建时间倒排。 ITEM({当前表格}, {当前表格.销售状态} = {C:已签约}, {当前表格.销售额-倒序}, {当前表格.销售人员}} 返回销售状态为已签约的销售额最大的一条数据的销售人员字段的值
ITEMS(表格, 条件, [排序], [返回条数]) array 根据条件和排序获取指定表格中的全部数据(最多50条)或指定条数的数据。 ITEMS({当前表格}, {当前表格.销售状态} = {C:已签约}, {当前表格.创建时间-倒序}} 返回销售状态为已签约的最新发布的50条数据
FIELDS(字段, 条件, [排序], [返回条数]) array 根据条件和排序获取指定表格中的全部数据(最多50条)或指定条数的数据的指定字段值的集合。 FIELDS({当前表格.负责人}, {当前表格.销售状态} = {C:已签约}, {当前表格.创建时间-倒序}} 返返回销售状态为已签约的最新发布的50条数据中负责人的集合
GETUSER(用户, 资料项) text 返回用户的指定资料项:name、phone、email GETUSER({U:张三}, ‘phone’) 18612345678
GETURL(图片附件字段) text 返回图片/附件的URL链接,链接为标准HTML的A链接,链接名为文件名,多个图片/附件用顿号连接 GETURL(附件) <a href="https://url" target="_blank">附件名称</a>
DISTANCE(位置1, 位置2) number 返回两个位置间的直线距离,单位米,可用位置字段,或输入{L}选择一个指定地点。 DISTANCE({位置1}, {L:北京天安门}) 23000