date_add(string startdate, int days) | 整数型int | 返回开始日期startdate增加days天后的日期 | date_add(‘2021-07-23’,2) 返回值为2021-07-25 | 该函数的返回值为字符型 |
date_sub(string startdate, int days) | 整数型int | 与date_add对立,返回开始日期startdate减少days天后的日期 | date_sub(‘2021-07-23’,2) 返回值为2021-07-21 | 该函数的返回值均为字符 |
to_date(string timestamp) | 字符型string | 返回时间/日期中的年月日 | to_date(“2021-07-23 00:00:00″) 返回值为 “2021-07-23″;to_date(“2021-07-23”)返回值为“2021-07-23” | to_date中的参数值可以是日期or时间 |
datediff(string enddate, string startdate) | 整数型int | 返回两个日期/时间之间的日期差 | datediff(“2021-07-23”,2021-07-21")返回值为2;datediff(2021-07-23 00:00:10’,‘2021-07-21 10:10:10’)返回值为2 | 参数值可以是日期或者时间 |
unix_timestamp(string date) | 整数型bigint | 返回参数值’1970- 01 – 01 00:00:00′到指定日期/时间的秒数 | unix_timestamp(‘2021-07-23’)返回值为1626969600;unix_timestamp('2021-07-23 00:01:00)返回值为1626969660 | 参数值可以是日期或时间 |
from_unixtime(unix_timestamp,format) | 字符型string | 参数值为距离‘1970- 01 – 01 00:00:00’之间的秒数,返回结果为相应的日期 | from_unixtime(1626969600,‘yyyy-mm–dd HH:mm:ss’)返回值为 2021-07-23 00:00:00 ; from_unixtime(1626969600,‘yyyymmddHHmmss’)返回值为 20210723000000 | 参数格式HH为24小时制,hh为12小时制,其他为小写否则可能会出错 |
date2datekey(string date) | 日期型datekey | 将yyyy-MM-dd格式的日期函数转换为yyyyMMdd格式 | date2datekey(‘2021-07-23’)返回值为 20210723 | |
datekey2date(string date) | 日期型date | 将yyyyMMdd格式转化为yyyy-MM-dd格式 | datekey2date( ‘20170916’) 返回值为 2017-09-16 | |
CAST (expression AS data_type) | - | 转换数据类型 | - | |