数值计算函数
select
round(3.1415926,4), -- 3.1416 -- round(double a[, int d]) 保留对应精度,默认d=0
floor(3.1415926), -- 3 -- 向下取整
ceil(3.1415926), -- 4 -- 向上取整 等价于ceiling
rand(), -- 0.5577432776034763 -- rand([int seed]) 如果指定种子seed,则会取到一个稳定的随机数序列
pow(2,4), -- 16.0 -- 幂函数 等价于power
sqrt(16), -- 4.0 -- 开根号
abs(-3.9), -- 3.9 -- 绝对值
pmod(9,4) -- 1 -- 取余函数
字符串函数
select
concat('abc','def','gh'), -- abcdefgh -- 字符串连接函数
concat_ws(',','abc','def','gh'), -- abc,def,gh -- concat_ws(string SEP, string A, string B...) 带连接字符的字符串连接函数
concat_ws('|',array('a','b','c')), -- a|b|c -- 数组转换成字符串
format_number(5.23456,3), -- 5.235 -- format_number(number x, int d) 小数位格式化成字符串函数 等价于substring
substr('abcde',3,2), -- cd -- substr(string A, int start[, int len]) 默认len为截取到最后
instr('abcdf','df'), -- 4 -- 字符串查找函数,返回字符串首次出现的位置
locate('a','abcda',2), -- 5 -- locate(string substr, string str[, int pos]) 返回字符串从pos后查找首次出现的位置
length('abc'), -- 3 -- 字符串长度
str_to_map('k1=v1,k2=v2',',','='), -- {"k2":"v2","k1":"v1"}
-- str_to_map(text[, delimiter1, delimiter2]) 按照给定的分隔符转换成map结构
upper('abSEd'), -- ABSED -- 转大写
lower('abSEd'), -- absed -- 转小写
trim(' abc '), -- abc -- 去空格,ltrim/rtrim 为 左边/右边去空格
regexp_replace('foobar', 'oo|ar', ''), -- fb -- 正则表达式替换函数
get_json_object(
'{"device_info":{"device_id":"03E7A750","brand":"苹果"},"age":28}',
'$.device_info'
), -- 解析json返回path指定的内容 获取device_info的值
get_json_object(
'{"device_info":{"device_id":"03E7A750","brand":"苹果"},"age":28}',
'$.device_info.device_id'
), -- 解析json返回path指定的内容 获取device_info中device_id的值
split('ab,cd,ef',','), -- ["ab","cd","ef"] -- split(string str, string pat) 按照分割符分割,返回分割后的字符串数组
find_in_set('ab','ef,ab,de') -- 2 -- 集合查找函数,返回str在strlist第一次出现的位置,未出现返回0
日期函数
select
from_unixtime(
cast(1622367594000/1000 as bigint),
'yyyyMMdd'
), -- 20210530 -- UNIX时间戳转日期函数 时间戳要转换成bigint 用cast(filed as bigint)
unix_timestamp('20210530'), -


5914

被折叠的 条评论
为什么被折叠?



