MaxCompute SQL函数详解 ODPS SQL函数详解
日期函数
- to_date函数
返回类型:datetime
语法:to_date(类型 参数1,类型 参数2);
to_date(string datestring, string format);
参数解释:
参数1(datestring):日期字符串
参数2(date):日期格式
用途:将日期字符串datestring,按照format格式转换为日期值
举例:将日期字符串‘ 2020-05-22’ 转换为日期值 
- to_char函数
返回类型:string
语法:to_char(类型 参数1,类型 参数2);
to_char(datetime date, string fromat);
参数解释:
参数1(date):日期
参数2(date):日期格式
用途:将日期date,按照format格式转换为日期字符串
举例:将当前日期2022-01-29 转换为日期字符串 
- dateadd函数
返回类型:datetime
语法:dateadd(类型 参数1, 类型 参数2, 类型 参数3);
dateadd(datetime date, bigint delta, string datepart);
参数解释:
参数1(date):需要参与计算的日期(基准日期)
参数2(delta):幅度,即需要时间间隔
参数3(datepart):单位,yyyy-年、mm-月、dd-日
举例:计算2021-01-02加1个月 
- datediff 函数
返回类型:bigint
语法:datediff(类型 参数1, 类型 参数2, 类型 参数3);
datediff(datetime date1, datetime date2, string datepart);
参数解释:
参数1(date1):日期1
参数2(date2):日期2
参数3(datepart):单位,yyyy-年、mm-月、dd-日
用途:计算两个时间date1, date2 在指定时间单位datepart的差值
举例:计算2021-01-02到2021-08-02间隔几个月? 
- datepart 函数
返回类型:bigint
语法:datediff(类型 参数1, 类型 参数2);
datepart(datetime date, string datepart);
参数解释:
参数1(date1):日期1
参数2(datepart):单位,yyyy-年、mm-月、dd-日
用途:获取日期date中指定的时间单位datepart的对应的值
举例:获取日期 2020-05-02 的年、月、日 
- datetrunc函数
返回类型:datetime
语法:datetrunc(类型 参数1, 类型 参数2);
datetrunc(datetime date, string datepart);
参数解释:
参数1(date1):日期1
参数2(datepart):单位,yyyy-年、mm-月、dd-日
用途:返回日期date被截取指定时间单位datepart后的日期值
举例:对日期 2020-05-02 按年份截取,按月份截取后的日期值 
- from_unixtime函数
返回类型:datetime
语法:from_unixtime(类型 参数);
from_unixtime(bigint unixtime);
参数解释:
参数(unixtime):需要转成日期的数字
用途:将数字unixtime 转为日期值
举例:数字154548对应的日期是? 
- UNIX_TIMESTAMP函数
返回类型:bigint
语法:unix_timestamp(类型 参数);
unix_timestamp(datetime date);
参数解释:
参数(date):日期
用途:将日期值转换成unixtime数值
举例:将日期 2020-05-08 转化为数值 
- GETDATE函数
返回类型:datetime
语法:GETDATE();
用途:获取当前日期值
举例:获取当前日期值 
- ISDATE函数
返回类型:boolean
语法:isdate(类型 参数1, 类型 参数2);
isdate(string datestring, string format);
参数解释:
参数1(datestring):日期字符串
参数2(format):格式
用途:判断一个日期字符能否基于对应的格式转换为一个日期值,如果可以返回true,否则返回false
举例:判断字符串‘ 2020-05-02’ 与‘2020/05/02’是否可以转换成 yyyy-mm-dd格式日期 
- lastday函数
返回类型:datetime
语法:lastday(类型 参数);
lastday(datetime date);
参数解释:
参数1(date):日期
用途:或取日期date当月的最后一天
举例:获取日期 2020-05-22的最后一天 
- weekday函数
返回类型:bigint
语法:weekday(类型 参数);
weekday(datetime date);
参数解释:
参数1(date):日期
用途:获取日期date 所在周的第几天
举例:获取日期 2020-06-04 所在周的第几天 
- weekofyear函数
返回类型:bigint
语法:weekofyear(类型 参数);
weekofyear(datetime date);
参数解释:
参数1(date):日期
用途:获取日期date 所在年的第几周
举例:获取日期 2020-06-04 所在年的第几周 
|