文本函数
爱搭贝
更新于2025-05-19
LEFT
- 用法:LEFT(text,num_chars)
- 说明:从文本字符串的第一个字符开始返回指定个数的字符,text 为字符串,num_chars 为指定个数,若不填则取默认值 1
- 示例:申请单流水号设置为 20210130201,2021 表示年份,从申请单的流水号里面提取年份,LEFT(流水号,4) 返回结果为 2021
LEN
- 用法:LEN(text)
- 说明:返回文本字符串 text 中的字符个数
- 场景:自定义编号, LEN(编号) 「编号」的值"abcdefg",返回数字7。
- 注意:LEN(附件)返回的是附件的个数。此函数中的「编号」参数如果是明细表字段,此函数只能用在明细表字段上。
MID
- 用法:MID(text,start_num,num_chars)
- 说明:返回文本字符串中从指定位置开始的特定数目的字符,text 为文本字符串,start_num 为指定开始位置,num_chars 为特定数目
- 示例:MID(身份证号,7,8)。利用MID函数进行提取【身份证号】中从第7位开始8个字符。身份证号:621542200812062563,最终返回提取结果为:20081206。
CONCAT
- 用法:CONCAT(text1,[text2], …)
- 说明:将多个文本字符串合并成一个文本字符串
- 示例:将入学日期、姓名和学号连起来成为一个新的字符串,入学日期=2021-05-13,姓名=张三,学号=00002。CONCAT(TEXT(入学日期,"yyyyMMdd"),"-","姓名","-","学号")=20210513-张三-00002
- 注意:字段或者函数之间,用逗号隔开;如果是字符串,需要用引号包裹起来。
UPPER
- 用法:UPPER(text)
- 说明:将一个文本字符串中的所有小写字母转换为大写字母。非字母的字符是不会发生变化的。
- 示例:UPPER("123abc"),返回 123ABC。
- 注意:此函数中的「text」参数如果是明细表字段,此函数只能用在明细表字段上。
STARTSWITH
- 用法:STARTSWITH(text,startString)
- 说明:判断输入的字符串(text)是否以特定字符串(startString)开始,是则返回 true,否则返回 false。
- 示例:STARTSWITH(物料编码,"DB"),当在【物资编码】中输入以“DB”开头时,该产品编码的格式判断为“true”,否则为“false”。
CONTAINS
- 用法:CONTAINS(参数1,参数2)
- 说明:判断参数 1 是否包含参数 2 的值,包含则返回 true,不包含则返回 false,CONTAINS 函数在表单里多用于判断单行文本、下拉框、单选框、复选框等文本类型控件。
REPLACE
- 用法:REPLACE(old_text,start_num,num_chars,new_text)
- 说明:使用其他文本字符串并根据所指定的字符数替换某文本字符串中的部分文本,old_text 为某文本字符串,start_num 为要替换的起始位置编号,num_chars 为要替换的字符个数,new_text 为被替换的字符串。
- 示例:REPLACE(公司地址,4,15,"青岛中艺1688创意产业园"),公司地址输入“山东省青岛市李沧区黑龙江中路398号”,即将“山东省青岛市李沧区黑龙江中路398号” 中的第 4 位之后的 15 位(即 4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 位),用字符串 "青岛中艺1688创意产业园" 来替换,输出结果为“山东省青岛中艺1688创意产业园”。
VALUE
- 用法:VALUE(文本)
- 说明:将文本转化为数字。
- 示例:在进行评分的时候评分项 1 和评分项 2 使用的是单选框或者下拉单选,分值在这两个组件中使用的是字符串,最后想通过评分相加得到总分,所以需要把文本分值转换为数字进行相加,总分=VALUE(评分项1)+VALUE(评分项2)。
- 注意:参数为非数值的字符串(不是纯 0~9 和正负号组合的字符串),计算结果返回空值。
DIST
- 用法:DIST(明细表.组件)
- 说明:通过 DIST() 函数可以将重复数据自动剔除。
- 示例:DIST(张三,李四,王五,张三,李四) 返回值为 [张三,李四,王五]。
- 场景:培训课报名,使用明细表进行统计,需要统计出总的报名人员信息,可设置「报名人员」=DIST(培训报名表.姓名)得出最终的去重之后的报名人员,并可通过COUNT(DIST(培训报名表.姓名))得出总的报名人数。
DISTIF
- 用法:DISTIF(range , criteria)
- 说明:返回去重后的所有符合条件的明细表参数 range 的数据,参数 range 是明细表的某个控件,criteria 表达式形式的条件。
- 示例:DISTIF(明细表.姓名,明细表.政治面貌=="党员") 返回政治面貌是党员的经过去重后的所有姓名DISTIF(明细表.姓名,明细表.年龄>18) 返回年龄大于 18 的经过去重后的所有姓名;
- 场景:DISTIF() 函数主要用于主表字段显示明细表字段的数据;如果range 参数是主表字段,此计算公式不适用。
TEXT
- 用法:TEXT(date, text_format)
- 说明:将日期转换成特定格式的文本。
- 解释:其中 text_format 的含义如下:yy 表示年,显示为 15yyyy 表示年,显示为 2015M 表示月,显示为 6MM 表示月,显示为 06MMM 表示月,显示为六月d 表示日,显示为 9dd 表示日,显示为 09HH 表示 24 小时制的时mm 表示分ss 表示秒E 表示星期,结果为 0~6,分别表示星期日~星期六EE 表示星期,例如:日、一、二等EEE 表示星期,例如:星期日、星期一、星期二等
- 示例:TEXT(日期时间,"yyyyMMdd"),日期选择的是 2021-12-09,转换为文本为 20211209。
HIDDEN
- 用法:HIDDEN(text,start_num,end_num)
- 说明:使用“*”代替返回文本字符串中从指定位置开始的特定数目的字符,text 为文本字符串,start_num 为指定开始位置,end_num 为指定截止位置。
- 示例:HIDDEN("身份证号",7,14),输入身份证号为 350322199909191660,显示结果为 350322********1660。
- 注意:只是在数据展示时展示替换后的样式,数据库存的还是替换之前的完整的输入的值。
EXACT
- 用法:EXACT(text1,text2)
- 说明:比较两个字符串是否完全相同(区分大小写)。完全相同则返回 true,否则返回 false。
- 示例:IF(EXACT(中奖手机号,手机号),"恭喜您,中奖了~","谢谢惠顾~")
- 注意:此函数中的「text1」参数如果是明细表字段,此函数只能用在明细表字段上。
LOWER
- 用法:LOWER(text)
- 说明:将一个文本字符串中的所有大写字母转换为小写字母。非字母的字符是不会发生变化的。
- 示例:LOWER("123ABC"),返回 123abc
- 注意:此函数中的「text」参数如果是明细表字段,此函数只能用在明细表字段上。
RIGHT
- 用法:RIGHT(text,num_chars)
- 说明:从文本字符串的最后一个字符开始返回指定个数的字符,text 为文本字符串,num_chars 为指定个数,若不填则取默认值 1
- 示例:输入手机号之后,自动获指定位数的数字。如:手机号输入 RIGHT(15665988523,4),返回结果是 8523。
- 注意:此函数中的「text」参数如果是明细表字段,此函数只能用在明细表字段上。
SEARCH
- 用法:SEARCH(find_text, within_text, start_num)
- 说明:返回文本字符串 find_text 在指定字符串 within_text 中出现的起始位置编号,未找到则返回 0(忽略大小写),其中 start_num 为在 within_text 中第几个位置开始查找,如果省略,则为 1。
- 示例:查找字母“n”在单词“printer”中的位置:SEARCH("n","printer") ;公式返回 4,因为“n”是单词“printer”中的第四个字符。
- 注意:此搜索函数不区分大小写。 搜索“N”,将查找第一次出现“N”或“n”的位置。此函数中的「within_text」参数如果是明细表字段,此函数只能用在明细表字段上。
CONVERT
- 用法:CONVERT(value,format_text)
- 说明:value为数值、计算结果为数字值的公式,format_text为指定格式的文本,需用英文引号括起来将数值转换为按指定数字格式表示的文本其中format_text的含义如下:#:数字占位符。只显有意义的数据而不显示无意义的数据。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。小数点后数字如小于”#”的数量,则显示实际值。例:在文本框中输入:###.##,23.1 显示为 23.1,23.1578 显示为 23.16。0:数字占位补位符。如果小数点前的数据的长度大于占位符,则显示实际数据,如果小于占位符的数量,则用0补足。小数点后的数据的长度大于占位符,则按“0”的位数四舍五入。小数点后数字如小于“0”的数量,则用“0”补足。例:在文本框中输入:000.00,23.1 显示为 023.10,23.1578 显示为 023.16。,:千位分隔符。可插入“#”或“0”中使用,数字中插入千位分隔符。合法使用形式:需要在小数点前使用;需要在“#”或“0”之间。%:百分比。放在数字占位符或补位符之后。数据以百分比形式显示。例:代码:#%,23.1 显示为 2310%。[Num0]: 显示原始数据。[Num1] :将数字转为中文小写。123 显示为一百二十三。直接在 [Num0] 或 # 或 0 的之前加字符即是前缀,支持中文字符、英文大小写、¥、$ 及空格。
- 示例:CONVERT(0.2,"#%")= 20% (转换为百分比)CONVERT(22.38,"$0,000.0") = $0,022.4(转换为货币格式)
SUBSTITUTE
- 用法:SUBSTITUTE(text,old_text,new_text,instance_num)
- 说明:将文本字符串中的部分字符替换成新字符串,text为原文本;old_text为要替换的文本;new_text为新的文本;instance_num为要替换次数(可选),用来指定以new_text 替换第几次出现的old_text;如果指定了instance_num,则只有满足要求的old_text 被替换;如果缺省则将用 new_text 替换 TEXT 中出现的所有 old_text。
REPT
- 用法:REPT(文本,重复次数)
- 示例:REPT("应用定制工具",2)返回"应用定制工具应用定制工具"。
SPLIT
- 用法:SPLIT(文本,分隔符_文本)
- 示例:SPLIT("应用定制-工具","-")返回"应用定制","工具"。
TAKE
- 用法:TAKE(明细表.价格, 0)
- 示例:返回明细表里第一行的价格的值 0为第一行 -1为最后一行 没有下标返回空。