可信智能计算服务 TICS-标量函数
标量函数
- 字符串函数
函数
返回类型
描述
示例
结果
CHAR_LENGTH(s STRING)
BIGINT
字符串的字符个数
CHAR_LENGTH('123')
3
CONCAT(s1 VARCHAR,s2 VARCHAR)
VARCHAR
字符串连接
CONCAT('a','b')
'ab'
LEFT(s VARCHAR,n INTEGER)
VARCHAR
从左边取n个字符
LEFT('1234',2)
'12'
LOWER(s VARCHAR)
VARCHAR
把字符串转化为小写
LOWER('Tom')
'tom'
OCTET_LENGTH(s VARCHAR)
BIGINT
获取字符串字节长度
OCTET_LENGTH('123')
3
REPEAT(s VARCHAR,n INTEGER)
VARCHAR
将字符串重复n遍
REPEAT('123',2)
'123123'
REPLACE(s1 VARCHAR,s2 VARCHAR,s3 VARCHAR)
VARCHAR
将字符串s1中的s2字符串替换成s3字符串
REPLACE('12334', '33', '88')
'12884'
RIGHT(s VARCHAR,n INTEGER)
VARCHAR
从右这取n个字符
RIGHT('1234',2)
'34'
SUBSTRING(s VARCHAR,n1 INTEGER,n2 INTEGER)
VARCHAR
从n1位置取n2长度的子串,没有n2取到字符串最后。
SUBSTRING('12344',2,3)
'234'
SUBSTR(s VARCHAR,n1 INTEGER,n2 INTEGER)
VARCHAR
从n1位置取n2长度的子串,没有n2取到字符串最后。
SUBSTR('12344',2,3)
'234'
TRIM(s VARCHAR)
VARCHAR
删除字符串前后空格
TRIM('123')
'123'
UPPER(s VARCHAR)
VARCHAR
将字符串转为大写
UPPER('abc')
'ABC'
ASCII(s VARCHAR)
INTEGER
获得字符数字形式
注意:VOLTDB不支持,所以不能用到SQL语句中
ASCII('A')
65
OVERLAY(s1 placing s2 FROM int [for int])
VARCHAR
替换子字符串。FROM int表示从s1的第几个字符开始替换,for int表示替换s1的字符个数。
- OVERLAY('HELLO' PLACING 'WORLD' FROM 2 for 3 )
- OVERLAY('HELLO' PLACING 'WORLD' FROM 2 )
- 'HWORLDO'
- 'HWORLD'
POSITION(s2 VARCHAR, s1 VARCHAR)
BIGINT
返回字符串s2在字符串s1的起始位置,字符串的位置下标是以1开头的。如果没有找到匹配,则返回0。
POSITION('ING' IN 'STRING')
4
REPLACE(STRING TEXT, FROM TEXT, TO TEXT)
VARCHAR
把字符串STRING里出现的所有子字符串FROM的内容替换成子字符串TO的内容。
REPLACE('abcdefabcdef', 'cd', 'XXX')
abXXXefabXXXef
TRANSLATE(STRING TEXT, FROM TEXT, TO TEXT)
VARCHAR
把在STRING中包含的任何匹配FROM中字符的字符转化为对应的在TO中的字符。如果FROM比TO长,删掉在FROM中出现的额外的字符。
TRANSLATE('12345', '143', 'ax')
a2x5
- 数字函数
函数
返回类型
描述
示例
结果
备注
ABS(x)
(与x相同)
绝对值
ABS(-17.4)
17.4
_
BITAND(n1 BIGINT,n2 BIGINT)
BIGINT
位与
BITAND(6,3)
2
2^31~2^32范围内的数进行位与可以先转化为对应相同十六进制的负数再做位与运算
BITAND(1,2147483)
1
CEILING(f FLOAT或者DECIMAL)
FLOAT或者DECIMAL,与输入参数类型一致
不小于参数的最小的整数
CEILING(-42.8)
-42.0
实际测试VoltDB中CEILING函数返回值类型为FLOAT
EXP(f FLOAT)
FLOAT
自然指数
EXP(1.0)
2.718281828459045
-
FLOOR(f FLOAT或者DECIMAL)
FLOAT或者DECIMAL,与输入参数类型一致
不大于参数的最大整数
FLOOR(-42.8)
-43.0
-
LN(f FLOAT)
FLOAT
自然对数
LN(100.0)
4.605170185988092
输入值大于0
LOG (f FLOAT)
FLOAT
以10为底取对数
LOG(100.0)
2.0000000000000000
输入值大于0
MOD(a INTEGER, b INTEGER)
INTEGER
a/b的余数(模)
MOD(9,4)
1
b不能为0
POWER(a FLOAT,b FLOAT)
FLOAT
a的b次幂
POWER(9.0,3.0)
729.0
-
SQRT(f FLOAT)
FLOAT
平方根
SQRT(2.0)
1.4142135623730951
-
PI()
FLOAT
返回圆周率
PI()
3.141592653589793
-
- 时间和日期函数
函数
返回类型
描述
示例
结果
备注
NOW()
TIMESTAMP
获得当前时间
NOW()
'2019-03-19 02:11:06.838000'
-
EXTRACT(FIELD FROM TIMESTAMP)
DOUBLE PRECISION
获取时间的值
可填入HOUR YEAR MONTH MINUTE SECOND
EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40')
20
-
- 类型转换函数
函数
返回类型
描述
示例
结果
备注
CAST(x AS y)
-
类型转换函数,将x转换成y指定的类型
CAST('1997-10-22 00:00:00' AS TIMESTAMP)
1997-10-22 00:00:00.000000
-
- 其它函数(仅在SQL中使用)
函数
返回类型
描述
示例
结果
备注
COALESCE(expr1,expr2, ..., exprn)
与输入参数类型一致
返回参数列表中第一个非NULL的参数值
COALESCE (expr1, expr2) 等价于CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END
注意:输入参数类型必须一致。
COALESCE(null,'abc','123')
'abc'
如果表达式列表中的所有表达式都等于NULL,则本函数返回NULL。
它常用于在显示数据时用缺省值替换NULL 。
和CASE表达式一样,COALESCE不会计算不需要用来判断结果的参数;也就是说,在第一个非空参数右边的参数不会被计算。
DECODE(base_expr,Comparel,valuel,Compare2,value2, … default)
-
把base_expr与后面的每个compare (n) 进行比较,如果匹配返回相应的value (n)。如果没有发生匹配,则返回default
注意:base_expr与compare*的数据类型必须一致;value*的数据类型也必须一致。
flag:=2;
DECODE(flag ,1,'YEAR',2,'MONTH',3,'DAY','UNKNOWN')
'MONTH'
-
- GaussDB函数_GaussDB数据库函数_高斯数据库函数_华为云
- GaussDB支持的函数_GaussDB函数类型解析_高斯数据库支持的函数-华为云
- 调用函数_函数调用方式_函数工作流 FunctionGraph-华为云
- GaussDB数据库函数_GaussDB函数和操作符_高斯数据库函数-华为云
- GaussDB数据库函数_GaussDB介绍_高斯数据库函数
- 什么是函数工作流_函数托管计算服务_函数工作流 FunctionGraph-华为云
- 使用容器镜像部署函数_函数部署_函数工作流 FunctionGraph-华为云
- 如何使用模板创建函数_模板创建函数_函数工作流 FunctionGraph-华为云
- 使用SpringBoot构建HTTP函数_functiongraph_函数工作流
- 什么是函数工作流_functiongraph是什么_函数工作流服务