Appearance
函数
可以通过函数,把其它字段组合计算出来一个结果。函数字段不会实际存储,结果会在运行时动态计算。
说明
| 说明项 | 内容 |
|---|---|
| 分类 | 控件类 |
| 是否可排序 | 是 |
| 是否支持过滤 | 是 |
| 支持过滤器类型 | 等于、不等于、等于空、不等于空、小于、大于、小于等于、大于等于、在列表中、不在列表中 |
字段设置
| 设置项 | 说明 |
|---|---|
| 未填写时在表单中的占位符 | 在该字段未输入信息时展示在输入框内的文字信息 |
| 函数 | 设置函数的内容 |
| 在创建页面使用表达式作为函数值 | 在创建页面使用表达式计算函数值 |
| 显示格式 | 设置日期字段的展示格式 选项: 文本、小数 、货币、邮箱、URL、手机号码、二维码、条形码、进度条、图片、markdown、HTML、趋势图表 |
| 格式化前缀 | 在函数值前面显示前缀 |
| 格式化后缀 | 在函数值后面显示后缀 |
在数据库中的存储格式
不存储数据库
使用说明
获取对象的值
如果引用的字段为子对象 附件 签名 用户选择等字段时,可以通过->> 表达式获取对象中的值。关于这几类对象的存储方式可参见存储方式
user->>'name' //假设用户选择字段的标识符为user,获取存储的用户选择的名称
attachment->>'path' //假设附件字段的标识符为attachment,获取存储的路径加法
字段1 + 字段2,两个数字类型字段相加求和,不支持两个字符串直接相加。
注意事项
- 相加的两个项必须是数字类型
- 函数不能引用关联记录字段的函数
减法
字段1 - 字段2,两个数字类型字段相减求差值
注意事项
- 相减的两个项必须是数字类型
- 函数不能引用关联记录字段的函数
乘法
字段1 * 字段2,两个数字类型字段相乘求乘积
注意事项
- 相乘的两个项必须是数字类型
- 函数不能引用关联记录字段的函数
除法
字段1 / 字段2,两个数字类型字段相除求值
注意事项
UPPER
UPPER(input),将输入的字符串input中的字母全部转换为大写输出
注意事项
仅支持对字符串类型字段操作
LOWER 转换小写
LOWER(input),将输入的字符串input中的字母全部转换为小写输出
注意事项
仅支持对字符串类型字段操作
CHAR_LENGTH
CHAR_LENGTH(input),将输入的字符串input中的字母全部转换为小写输出
注意事项
- 仅支持对
字符串类型字段操作 - 仅计算字符数(一个中文也算作一个字符)
CONCAT
CONCAT(s1,s2...sn),将输入的多个字符串合并为一个字符串
注意事项
仅支持对字符串类型字段操作
CONCAT_WS
CONCAT_WS(s,s1,s2...sn),将输入的多个字符串按照分隔符s合并为一个字符串
注意事项
仅支持对字符串类型字段操作
LPAD
LPAD(s1,len,s2),在字符串 s1 的左侧填充字符串 s2,使字符串长度达到 len
注意事项
- 仅支持对字符串类型字段操作
- 当填充长度小于字符串长度,则从左侧截取以满足长度
RPAD
RPAD(s1,len,s2),在字符串 s1 的右侧填充字符串 s2,使字符串长度达到 len
注意事项
- 仅支持对
字符串类型字段操作 - 当填充长度小于字符串长度,则从左侧截取以满足长度
TRIM
TRIM(s),移除字符串 s 的左右的所有空格
注意事项
仅支持对字符串类型字段操作
LTRIM
TRIM(s),移除字符串 s 的左右的所有空格
注意事项
仅支持对字符串类型字段操作
RTRIM
RTRIM(s),移除字符串 s 的左右的所有空格
注意事项
仅支持对字符串类型字段操作
REPEAT
REPEAT(s,n),将字符串s重复 n 次
注意事项
仅支持对字符串类型字段操作
REPLACE
REPLACE(s,s1,s2),将字符串 s2 替代字符串 s 中的字符串 s1
注意事项
- 仅支持对
字符串类型字段操作 - 字符区分大小写,仅替换一样的字符
REVERSE
REVERSE(s),将字符串 s 的逆序返回
注意事项
仅支持对字符串类型字段操作
SUBSTR
SUBSTR(s, start, length),从字符串 s 的 start 位置截取长度为 length 的字符串
注意事项
- 仅支持对
字符串类型字段操作 - 位置数值从
1开始
STRPOS
STRPOS(s,s1),返回字符串 s1 在 s 中的首次出现的位置
注意事项
- 仅支持对
字符串类型字段操作 - 位置数值从
1开始
LEFT
LEFT(s,n),返回字符串 s 左侧 n 个字符
注意事项
- 仅支持对
字符串类型字段操作 - 如果指定长度超过字符长度则返回整个字符串
RIGHT
RIGHT(s,n),返回字符串 s 左侧 n 个字符
注意事项
- 仅支持对
字符串类型字段操作 - 如果指定长度超过字符长度则返回整个字符串
MD5
MD5(s),返回字符串 s 的 MD5 哈希的十六进制的结果
注意事项
仅支持对字符串类型字段操作
CAST
CAST ('s' AS targetType),将数值字符串 s 的转换为目标类型
注意事项
- 仅支持对
字符串类型字段操作 - targetType 可用值INTEGER(整数类型)、FLOAT(浮点类型)、NUMERIC(数值类型)、TEXT(文本类型)、BOOLEAN(真假值类型)
ABS
ABS(x),返回 x 的绝对值
注意事项
仅支持对数字类型字段操作
FLOOR
FLOOR(x),返回小于或等于 x 的最大整数
注意事项
仅支持对数字类型字段操作
CEIL
CEIL(x),返回大于或等于 x 的最小整数
注意事项
仅支持对数字类型字段操作
GREATEST
GREATEST(expr1, expr2, expr3, ...),返回列表中的最大值
注意事项
仅支持对数字类型字段操作
LEAST
LEAST(expr1, expr2, expr3, ...),返回列表中的最小值
注意事项
仅支持对数字类型字段操作
POWER
POWER(x,y),返回 x 的 y 次方
注意事项
仅支持对数字类型字段操作
RANDOM
RANDOM(),返回 0(包含) 到 1(不包含) 之间的随机数
SQRT
SQRT(x),返回 x 的平方根
注意事项
仅支持对数字类型字段操作
CBRT
CBRT(x),返回 x 的平方根
注意事项
仅支持对数字类型字段操作
PI
PI(),返回圆周率常量
MOD
MOD(x,y),返回 y 在除以 x 后的余数
注意事项
仅支持对数字类型字段操作
DIVISION
DIVISION(x,y),返回 y 在除以 x 后的商数
注意事项
- 仅支持对
数字类型字段操作 - 该函数运算时返回是包含小数值。传入的x和y均为整数时,也返回小数
- 该函数运算时如果除数是0或空值则返回0
ROUND
ROUND(x,y),返回 y 保留位数x 四舍五入
注意事项
仅支持对数字类型字段操作
SIGN
SIGN(x),返回数值 x 的符号(-1,0,1)
注意事项
仅支持对数字类型字段操作
DATE
DATE(d) + n,计算起始日期 d 加上 n 天的日期
注意事项
注意事项
- 仅支持对
日期类型字段操作 n必须是整数
DATE
DATE(d) - n,计算起始日期 d 减去 n 天的日期
注意事项
- 仅支持对
日期类型字段操作 n必须是整数
CURRENT_DATE
CURRENT_DATE,获取当前日期
LOCALTIME
LOCALTIME(0),返回当前时间,0标识时间精度,可以传入其他值(0-6)之间
LOCALTIMESTAMP
LOCALTIMESTAMP(0),返回当前日期和时间,0是标识时间精度,可以传入其他值(0-6)之间
DATE(d1) - DATE(d2)
DATE(d1) - DATE(d2),计算日期 d1->d2 之间相隔的天数
注意事项
仅支持对日期类型字段操作
TO_CHAR
TO_CHAR(d, f),按表达式 f 的要求显示日期 d。
sql
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS:MS')注意事项
仅支持对日期类型字段操作
| 类型值 | 描述 |
|---|---|
| HH | 一天中的小时 (01-12) |
| HH12 | 一天中的小时 (01-12) |
| HH24 | 一天中的小时 (00-23) |
| MI | 分钟 (00-59)minute (00-59) |
| SS | 秒(00-59) |
| MS | 毫秒(000-999) |
| US | 微秒(000000-999999) |
| SSSS | 午夜后的秒(0-86399) |
| AM, am, PM or pm | 正午指示器(不带句号) |
| A.M., a.m., P.M. or p.m. | 正午指示器(带句号) |
| Y,YYY | 带逗号的年(4 位或者更多位) |
| YYYY | 年(4 位或者更多位) |
| YYY | 年的后三位 |
| YY | 年的后两位 |
| Y | 年的最后一位 |
| IYYY | ISO 8601 周编号方式的年(4 位或更多位) |
| IYY | ISO 8601 周编号方式的年的最后 3 位 |
| IY | ISO 8601 周编号方式的年的最后 2 位 |
| I | ISO 8601 周编号方式的年的最后一位 |
| BC, bc, AD或者ad | 纪元指示器(不带句号) |
| B.C., b.c., A.D.或者a.d. | 纪元指示器(带句号) |
| MONTH | 全大写形式的月名(空格补齐到 9 字符) |
| Month | 全首字母大写形式的月名(空格补齐到 9 字符) |
| month | 全小写形式的月名(空格补齐到 9 字符) |
| MON | 简写的大写形式的月名(英文 3 字符,本地化长度可变) |
| Mon | 简写的首字母大写形式的月名(英文 3 字符,本地化长度可变) |
| mon | 简写的小写形式的月名(英文 3 字符,本地化长度可变) |
| MM | 月编号(01-12) |
| DAY | 全大写形式的日名(空格补齐到 9 字符) |
| Day | 全首字母大写形式的日名(空格补齐到 9 字符) |
| day | 全小写形式的日名(空格补齐到 9 字符) |
| DY | 简写的大写形式的日名(英语 3 字符,本地化长度可变) |
| Dy | 简写的首字母大写形式的日名(英语 3 字符,本地化长度可变) |
| dy | 简写的小写形式的日名(英语 3 字符,本地化长度可变) |
| DDD | 一年中的日(001-366) |
| IDDD | ISO 8601 周编号方式的年中的日(001-371,年的第 1 日时第一个 ISO 周的周一) |
| DD | 月中的日(01-31) |
| D | 周中的日,周日(1)到周六(7) |
| ID | 周中的 ISO 8601 日,周一(1)到周日(7) |
| W | 月中的周(1-5)(第一周从该月的第一天开始) |
| WW | 年中的周数(1-53)(第一周从该年的第一天开始) |
| IW | ISO 8601 周编号方式的年中的周数(01 - 53;新的一年的第一个周四在第一周) |
| CC | 世纪(2 位数)(21 世纪开始于 2001-01-01) |
| J | 儒略日(从午夜 UTC 的公元前 4714 年 11 月 24 日开始的整数日数) |
| Q | 季度 |
| RM | 大写形式的罗马计数法的月(I-XII;I 是 一月) |
| rm | 小写形式的罗马计数法的月(i-xii;i 是 一月) |
| TZ | 大写形式的时区缩写(只在to_char中支持) |
| tz | 小写形式的时区缩写(只在to_char中支持) |
| OF | 时区与UTC的偏移量(只在to_char中支持) |
DATE_PART
DATE_PART(type, d1),返回日期 d1 中类型 type
注意事项
- 仅支持对
日期类型字段操作 - type 定义值
类型值 描述 DOW 一周中的日,从周日(0)到周六(6) DOY 一年的第几天(1 - 365/366) QUARTER 该天所在的该年的季度(1 - 4) YEAR 日期中的年份 WEEK 该天在所在的年份里是第几周 DAY 日期中的天数 HOUR 日期中的小时数 MONTH 日期中的月份(1 - 12) MINUTE 日期中的分钟数 SECOND 日期中的秒数 EPOCH 自 1970-01-01 00:00:00以来的秒数(结果可能是负数)
日期字符串转换日期类型数据
| 操作符 | 描述 | 示例 | 输出 |
|---|---|---|---|
| DATE(dateString) | 转换日期,返回日期 dateString 日期类型值(不包含时分秒) | DATE('2020-11-09 16:33:30') | 2020-11-09 |
| dateString::DATE | 转换日期,返回日期 dateString 日期类型值(不包含时分秒) | '2020-11-09 16:33:30'::DATE | 2020-11-09 |
| dateString::TIMESTAMP | 转换日期和时间,返回日期 dateString 日期类型值(包含时分秒) | '2020-11-09 16:33:30'::TIMESTAMP | 2020-11-09 16:33:30 |
| dateString::TIME | 转换时间,返回日期 dateString 时间类型值(仅包含时分秒) | '2020-11-09 16:33:30'::TIME | 16:33:30 |
| timeString::TIME | 转换时间,返回日期 dateString 时间类型值(仅包含时分秒) | '16:33:30'::TIME | 16:33:30 |
展示格式

使用示例
通过身份证字段计算出生日
已有身份证字段,类型:单行文本,标识符:idCard。新增生日字段,类型:函数,标识符:birthday
字符串类型生日字段计算出星座
已有生日字段,类型:字符串,标识符:birthday;新增星座字段,类型:函数,标识符:constellation
日期类型生日字段计算出星座
已有生日字段,类型:日期,标识符:birthday; 新增星座字段,类型:函数,标识符:constellation

