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