flink函数汇总
时间函数
NOW():返回当前时区时间的时间戳,单位为秒
CURRENT_DATE:返回当前系统时间
LOCALTIMESTAMP:返回当前系统的时间戳
CURRENT_TIMESTAMP:返回当前UTC(GMT+0)时间戳,时间戳单位为毫秒
LOCALTIME:以数据类型TIME的值返回会话时区中的当前时间FROM_UNIXTIME:
BIGINT MONTH(TIMESTAMP timestamp)
BIGINT MONTH(DATE date)
YEAR、WEEK、HOUR、MINUTE、SECOND
描述:返回输入时间参数中的月,范围1~12
BIGINT DAYOFMONTH(TIMESTAMP time)
BIGINT DAYOFMONTH(DATE date)
描述:返回输入时间参数date或time中所指代的“日”。返回值范围为1~31
dateFormat(阿里云flink 1.1.0 sql不建议使用)
语法:
DATE_FORMAT(TIMESTAMP time, VARCHAR to_format)
DATE_FORMAT(VARCHAR date, VARCHAR to_format)
DATE_FORMAT(VARCHAR date, VARCHAR from_format, VARCHAR to_format)
参数:time:时间戳 date:时间字符串 to_format:目标格式(yyyy-MM-dd HH:mm:ss)from_format:原格式(from_format)
FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy'):格式化时间戳,可替代DATE_FORMAT
TIMESTAMP TIMESTAMPADD(interval,INT int_expr,TIMESTAMP datetime_expr):TIMESTAMPADD(DAY, 3, current_timestamp)
DATE TIMESTAMPADD(interval, INT add,DATE date):TIMESTAMPADD(HOUR, 3, current_date)
描述:将date按interval(YEAR/MONTH/DAY/HOUR/MINUTE/SECOND)加add
EXTRACT(YEAR FROM CURRENT_TIMESTAMP)
EXTRACT(MONTH FROM CURRENT_TIMESTAMP)
EXTRACT(DAY FROM CURRENT_TIMESTAMP)
EXTRACT(WEEK FROM CURRENT_TIMESTAMP)
描述:返回日期/时间的单独部分,例如年、月、日、小时、分钟、周数等
mod
语法:INTEGER MOD(INTEGER x,INTEGER y)
描述:整数运算中,求整数x除以整数y的余数。当x为负值时,或者x、y均为负值时,结果为负值。
bin
语法:bin(10)=1010
描述:返回一个整数的二进制数
hex
语法:hex(16)=10
描述:返回一个整数的十六进制数
upper/lower
语法:upper('aa')=AA
描述:将小写字母变为大写
to_base64/from_base64
md5
rand
cast
regexp_replace
语法:egexp_replace('01234abcde56789','[0-9]','#') ==》 #####abcde#####
描述:用#替换字符串中的所有数字
trim/ltrim/rtrim
语法:trim(' s ff ') ==> s ff
描述:去除前后空格
sqrt
语法:sqrt(4) ==>2
描述:返回一个数的平方根
similar to/not similar to
concat
语法:concat('a','b','abc') ==>ababc
描述:将n个字符串拼接
concat_ws与concat用法一样,区别是concat_ws如果有一个null则返回null
sum
语法:sum(field)
描述:将字段field的值累加,一般跟group by结合使用
initCap
replace
repeat
lpad/rpad
char_Length
overlay
position
collect
cardinality