数学函数
ABS
取字段的绝对值
ABS(number) 仅支持对数字、金额类型字段的绝对值。
ABS(数字控件)
//取数字控件的绝对值
预期效果:
当数字控件输入-27或27时,计算公式输出为:27。
COS
返回字段的余弦值,字段为角度
COS(number) 仅支持对数字、金额类型字段的余弦值。
COS(数字控件)
//计算数字控件的余弦值,若是填充数据控件,会根据小数点进行四舍五入
预期效果:
当数字控件输入60时,计算公式输出为:0.5。
INT
向下取整
INT(number): 将数字number向下取整为最接近的整数
INT(数字控件)
// 取比数字控件的值小的最大整数
预期效果:
当数字控件输入99.99时,计算公式输出为:99。
MAX
多字段取最大值
MAX(number1, number2, …) :仅支持返回数字、金额类型字段的最大值。
MAX(数字控件1,数字控件2,3)
//比较数字控件1、数字控件2、数值3的值,取其最大值
预期效果:
当数字控件1输入1、数字控件2输入2时,计算公式输出为:3。
MIN
多字段取最小值
MIN(number1, number2, …) :仅支持返回数字、金额类型字段的最小值。
MIN(数字控件1,数字控件2,3)
//比较数字控件1、数字控件2、数值3的值,取其最小值
预期效果:
当数字控件1输入1、数字控件2输入2时,计算公式输出为:1。
MOD
对两个数值求余数
MOD(number1, number2) 仅支持对数字、金额类型字段的求余数。
MOD(数字控件1,数字控件2)
//对数字控件1、数字控件2求余数,数字控件1为被除数,数字控件2为除数
预期效果:
当数字控件1输入100、数字控件2输入3时,计算公式输出为:1,即 100=33*3+1。
PI
获取PI值
PI() 。
PI(数字控件1,数字控件2,)
//输出3.1415926...
预期效果:
没有输入,计算公式输出为:3.14。
ROUND
将字段的数值四舍五入到指定位数
ROUND(number,num_digits) number为要处理的数字,num_digits为指定小数位数,num_digits要小于数字控件的小数位,否则会取填充的数字控件的小数位,仅支持对数字、金额类型字段的四舍五入操作。
ROUND(数字控件,3)
//将数字控件的数值四舍五入到3位小数
预期效果:
当数字控件输入1000.55552时,计算公式输出为:1000.556。
SIN
返回字段的正弦值,字段为角度
SIN(number) 仅支持对数字、金额类型字段的正弦值。
SIN(数字控件)
//计算数字控件的正弦值,若是填充数字控件,会根据小数点进行四舍五入
预期效果:
当数字控件输入30时,计算公式输出为:0.5。
SQRT
对字段的数字进行开平方操作
SQRT(number) 字段的数字不能为负数,仅支持对数字、金额类型字段的开平方操作。
SQRT(数字控件)
//对字段的数字进行开平方操作
预期效果:
当数字控件25时,计算公式输出为:5,即 25=5*5。
AVG
多字段求平均值
AVG(number1, number2, …) :仅支持返回数字、金额类型字段的平均值。
AVG(数字控件1,数字控件2,3)
//将数字控件1、数字控件2、数值3的值相加后取平均值
预期效果:
当数字控件1输入1、数字控件2输入2时,计算公式输出为:2,即 6=(1+2+3)/3=2。
SUM
多字段求和
SUM(number1, number2, …) 仅支持对数字、金额类型字段的求和。
SUM(数字控件1,数字控件2,3)
//将数字控件1、数字控件2、数值3的值相加
预期效果:
当数字控件1输入1、数字控件2输入2时,计算公式输出为:6,即 6=1+2+3。
UPPERMONEY
将数值转为中文大写金额
UPPERMONEY(number) 仅支持对数字、金额类型字段的中文大写金额转换。
UPPERMONEY(数字控件)
//将数字控件的数字转换成中文大写金额
预期效果:
当数字控件输入152763时,计算公式输出为:壹拾伍万贰仟柒佰陆拾叁元整。
文本函数
STARTSWITH
STARTSWITH(text,start_string) 判断文本字符串text是否以特定字符串start_string开始,是则返回true,否则返回false。
STARTSWITH(文本控件, "ll")
//判断文件控件的值以文本 133 开始,是则true,否则false
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:false。
CONTAINS
CONTAINS(text1,text2) 判断参数1是否包含参数2的值,包含则返回true,不包含则返回false。
CONTAINS(文本控件, "ll")
//判断文件控件的值包含文本 ll ,是则true,否则false
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:true。
LEFT
LEFT(text,num_chars) 从文本字符串的第一个字符开始返回指定个数的字符,text为字符串,num_chars为指定个数。
LEFT(文本控件, 4)
//返回文本控件的前4个字符
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:Hell。
LEN
LEN(text) 返回文本字符串text中的字符个数。
LEN(文本控件)
//返回文本控件的值的字符个数
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:10。
REPLACE
REPLACE(old_text,start_num,num_chars,new_text) 使用其他文本字符串并根据所指定的字符数替换某文本字符串中的部分文本,old_text为某文本字符串,start_num为要替换的起始位置编号,num_chars为要替换的字符个数,new_text为替换后的字符串。
REPLACE(文本控件, 3, 3, "ur")
// 从文本控件的值的第三个字符开始的三个字符,替换成 or
预期效果:
当文本控件输入House时,计算公式输出为:Hour。
REPLACE
SUBSTITUTE(text,old_text,new_text,times) 将目标字符串中某个字符替换成指定字符,text为需要替换的目标字符串,old_text是目标字符串中需要被替换的字符,new_text为替换后的字符,times为需要替换的次数。
SUBSTITUTE(文本控件, "o", "e", 3)
// 将文本控件中的值里面的o字符,替换成e字符,不足三个全替换,否则只替换前面三个
预期效果:
当文本控件输入Hello时,计算公式输出为:Helle。
RIGHT
RIGHT(text,num_chars) 从文本字符串的最后一个字符开始返回指定个数的字符,text为文本字符串,num_chars为指定个数。
RIGHT(文本控件, 4)
// 返回文本控件的后4个字符
预期效果:
当文本控件输入Hello时,计算公式输出为:ello。
MID
MID(text,start_num,num_chars) 返回文本字符串中从指定位置开始的特定数目的字符,text为文本字符串,start_num为指定开始位置,num_chars为特定数目。
MID(文本控件, 3 , 3)
// 返回文本控件的值的第三个字符开始的三个字符
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:llo。
LOWER
LOWER(text) 将文本字符串text中所有大写字母转换为小写。
LOWER(文本控件)
// 将文本字符串text中所有大写字母转换为小写
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:helloworld。
UPPER
UPPER(text) 将文本字符串text中所有小写字母转换为大写。
UPPER(文本控件)
// 将文本字符串text中所有小写字母转换为大写
预期效果:
当文本控件输入HelloWorld时,计算公式输出为:HELLOWORLD。
TRIM
TRIM(text) 去掉文本字符串text中的首尾空格。
TRIM(文本控件)
// 去掉文本字符串text中的首尾空格
预期效果:
当文本控件输入" Hello World "时,计算公式输出为:Hello World。
SEARCH
SEARCH(find_text,within_text,[start_num]) 返回第一个文本字符串find_text在第二个文本字符串within_text中第一次出现的位置序号,从左到右查找,区分英文字母的大小写;返回 0 则表示未查找到。start_num可选,表示在within_text中从第几个字符开始查找;未填写则默认从第一个开始查找。。
SEARCH("HE", 文本控件, 2)
// 从文本控件的值第二个字符开始搜索 HE 字符串,此处的字符串下标从1开始
预期效果:
当文本控件输入HEHelloHEWorld时,计算公式输出为:8。即从_EHelloHEWorld字符串中搜索字符串HE。
时间函数
DAY8S
DAY8S(end_date,start_date) 返回两个日期之间的工时差值,精确到两位小数。end_date为结束日期,start_date为开始日期。
DAY8S(日期控件1, 日期控件2)
//日期控件1为结束时间,日期控件2为开始时间,返回两个时间控件的工时,不足0.5小时按0.5小时计算
预期效果:
当日期控件1输入2024-04-01 00:00、日期控件2输入2024-04-02 16:15时,计算公式输出为:14.5。
FILTERWEEK
FILTERWEEK(end_date,start_date,mode,"hh:mm-hh:mm","hh:mm-hh:mm",...) 动态配置的请假函数,过滤周末和假期,精确到0.5小时。end_date为结束日期,start_date为开始日期,mode为返回类型:"dd"标识天数,"hh"标识小时,后面的参数为动态配置的上班时间 例如9:00-12:00,14:00-17:00,参数不限制个数,请假只会计算上班内的时间。
FILTERWEEK(日期控件1, 日期控件2, "hh", "9:00-12:00 ", "14:00-17:00")
//日期控件1为请假结束时间,日期控件2为请假开始时间,在工作时间:"9:00-12:00 ", "14:00-17:00"的请假小时
预期效果:
当日期控件1输入2024-04-02 12:00、日期控件2输入2024-03-29 12:00时,计算公式输出为:12。
HALF
HALF(end_date,start_date) 返回两个日期之间的小时差值,精确到0.5小时。end_date为结束日期,start_date为开始日期。
HALF(时间控件1, 时间控件2)
// 返回两个日期之间的小时差值,精确到0.5小时,不足半小时按半小时计算
预期效果:
当日期控件1输入2024-04-02 12:00、日期控件2输入2024-04-02 11:01时,计算公式输出为:1。
NOW
NOW() 返回当前时间,精确到时分秒,格式为yyyy-MM-dd hh:mm:ss。
NOW()
// 返回当前时间
预期效果:
无输入,计算公式输出为:2022-12-12 12:12:12。
YEAR
YEAR(date) 返回日期date的年份。
YEAR(日期控件)
// 返回日期控件的年份
预期效果:
当日期控件输入2024-04-02 12:00时,计算公式输出为:2024。
MONTH
MONTH(date) 返回日期date的月份,值为介于1到12之间的整数。
MONTH(日期控件)
// 返回日期控件的月份
预期效果:
当日期控件输入2024-04-02 12:00时,计算公式输出为:4。
DAY
DAY(date) 返回日期date的天数,值为介于1到31之间的整数。
DAY(日期控件)
// 返回日期控件的天数
预期效果:
当日期控件输入2024-04-02 12:00时,计算公式输出为:2。
HOUR
HOUR(time) 返回日期time的小时部分。
HOUR(日期控件)
// 返回日期控件的小时部分
预期效果:
当日期控件输入2024-04-02 13:00时,计算公式输出为:13。
MINUTE
MINUTE(time) 返回日期time的分钟部分。
MINUTE(日期控件)
// 返回日期控件的分钟部分
预期效果:
当日期控件输入2024-04-02 13:13时,计算公式输出为:13。
QUARTER
QUARTER(date) 返回日期date的所属季度,值为介于1到4的整数。
QUARTER(日期控件)
// 返回日期控件的所属的季度
预期效果:
当日期控件输入2024-04-02 13:13时,计算公式输出为:2。
TODAY
TODAY() 返回今天的日期,格式为:yyyy-MM-dd。
TODAY()
// 返回今天的日期
预期效果:
无输入,计算公式输出为:2022-12-12。
NEXD
NEXD([date]) 如果有参数,参数为yyyy-mm-dd,返回yyyy-mm-dd的第二天。如果无参数,则返回明天的日期,格式为:yyyy-MM-dd。
NEXD(时间控件)
// 返回时间控件的第二天
预期效果:
当日期控件输入2024-04-02时,计算公式输出为:2024-04-03。
WEEKDAY
WEEKDAY(date) 返回指定日期date为星期几,星期天返回0。
WEEKDAY(时间控件)
// 返回时间控件日期对应是星期几
预期效果:
当日期控件输入2024-04-07时,计算公式输出为:0。
WEEKNUM
WEEKNUM(date) 返回一个数字,该数字代表指定日期date是一年中的第几周。
WEEKNUM(时间控件)
// 返回时间控件日期对应是一年第几周
预期效果:
当日期控件输入2024-04-02时,计算公式输出为:14。
SYSTIME
SYSTIME() 返回当前服务器时间,时间不跟随客户端而变化。
SYSTIME()
// 返回当前服务器时间
预期效果:
无输入,计算公式输出为:2022-12-12 20:30:16。
DATEDIF
DATEDIF(start_time, end_time, mode) 返回两个时间之间的时间差值,如果时间2晚于时间1,结果为正数,反之为负数。输出结果可以选择年月日时分秒6种单位,单位分别对应为"y"/"M"/"d"/"h"/"m"/"s"。
DATEDIF(时间控件1, 时间控件2, "h")
// 返回两个时间之间的时间小时差值
预期效果:
当日期控件1输入2024-04-02 12:00、日期控件2输入2024-04-02 9:00时,计算公式输出为:-3。
DATEDELTA
DATEDELTA(date,num) 根据指定日期和数值返回目标日期,如指定日期为今天,数值为1,则返回明天日期,数字为-1,这返回昨天的日期。
DATEDELTA(时间控件, -1)
// 返回时间控件的昨天的日期
预期效果:
当日期控件输入2024-04-02 12:00时,计算公式输出为:2024-04-01 12:00。
TIMESTAMP
TIMESTAMP(date) 将日期时间转换成时间戳格式。
TIMESTAMP(时间控件)
// 返回时间控件的时间戳
预期效果:
当日期控件输入2024-04-02 12:12时,计算公式输出为:1712031120000。
DATE
DATE(timestamp)或DATE(year,month,day,[hour,minute,second]) 将时间戳或年月日时分秒转换为日期。
DATE(控件)
// 返回控件的时间戳对应的日期
预期效果:
当控件输入1712031120000时,计算公式输出为:2024-04-02 12:12:00。
DATEFORMAT
DATEFORMAT(date, format) 将时间转换成指定的时间格式,如"yyyy-MM-dd hh:mm:ss"。
DATEFORMAT(时间控件, "yyyy-MM")
// 将时间转换成指定的时间格式
预期效果:
当日期控件输入2024-04-02 12:12:00时,计算公式输出为:2024-04。
逻辑函数
IF
IF(A,B,C) 如果满足条件A,则返回B,否则返回C,支持多层嵌套IF函数。
IF(数字控件>0, 1, 0)
// 判断数字控件的值是否大于0,是返回1,否返回0
预期效果:
当日期控件输入2时,计算公式输出为:1
其它函数
ISEMPTY
ISEMPTY(text) 判断text是否为空,为空则返回true,不为空则返回false,可用于判断具体值。
ISEMPTY(文本控件)
// 判断text是否为空,为空则返回true,不为空则返回false
预期效果:
当文本控件输入hello时,计算公式输出为:false。
TEXT
TEXT(控件) 返回控件的展示值,如TEXT(人员单选)返回人员名称,支持人员部门控件、创建人、附件、图片、文件库、地址、位置、关联表单,其他控件返回原始值。
TEXT(人员控件)
// 返回人员控件的人员名称
预期效果:
当人员控件选择人员hello时,计算公式输出为:hello
LOGINUSERNAME
LOGINUSERNAME() 返回当前登录人名称。
LOGINUSERNAME()
// 返回当前登录人名称
预期效果:
当前登陆人为 hello 时,计算公式输出为:hello。
USERINFO
USERINFO(人员单选, type) 获取人员的字段信息,参数1为人员单选控件,参数2为字段(userName-用户名、loginName-登录名、id-用户ID、organName-部门名称、organId-部门ID、phone-手机号、email-邮箱、等其他),返回对应字段信息。
USERINFO(人员单选, "userName")
// 返回人员单选控件的用户名
预期效果:
但人员单选控件选择的人员 hello 时,计算公式输出为:hello。