目前只读分析引擎支持大部分 MySQL 的日期函数,但在部分场景下仍然存在限制和不兼容。本文介绍在只读分析引擎中日期函数的支持列表,并针对输入参数中的类型限制进行了列举。如存在文档中未提到的入参与函数则均不支持。
日期函数支持类型
datediff 函数
两个日期之间有多少个指定的时间间隔函数。
语法:
datediff(date1, date2)
date1支持值类型:支持 date,datetime 数据类型。
date2支持值类型:支持 date,datetime 数据类型。
year 函数
计算年份函数。
语法:
year(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
month 函数
计算月份函数。
语法:
month(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
day 函数
计算当天号数函数。
语法:
day(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
hour 函数
计算小时函数。
语法:
hour(date1)
date1支持值类型:支持 date,datetime 数据类型。
minute 函数
计算分钟函数。
语法:
minute(date1)
date1支持值类型:支持 date,datetime 数据类型。
second 函数
计算秒函数。
语法:
second(date1)
date1支持值类型:支持 date,datetime 数据类型。
microsecond 函数
返回时间/日期时间的微秒部分。
语法:
microsecond(date1)
date1支持值类型:支持 date,datetime 数据类型。
quarter 函数
返回给定日期值(1到4之间的数字)的一年中的季度。
语法:
quarter(date1)
date1支持值类型:支持 date,datetime,varchar,char 数据类型。
date 函数
日期函数。
语法:
date(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
sysdate 函数
返回系统时间函数。
语法:
sysdate()
date_add 函数
日期相加函数。
语法:
date_add(date1, interval expr type)
date1支持值类型:支持 date,datetime 数据类型。
expr 支持值类型:支持 int,long,double,decimal。
type 支持值类型:支持 DAY,DAY 为关键字。
date_sub 函数
日期相减函数。
语法:
date_sub(date1, interval expr type)
date1支持值类型:支持 date,datetime 数据类型。
expr 支持值类型:支持 int,long,double,decimal。
type 支持值类型:支持 DAY,DAY 为关键字。
dayofyear 函数
返回给定日期是当年的第几天的函数。
语法:
dayofyear(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
dayofmonth 函数
返回给定日期是当月的哪一天的函数。
语法:
dayofmonth(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
dayofweek 函数
返回给定日期是当周的哪一天的函数。
语法:
dayofweek(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
dayname 函数
返回指定日期对应的星期的名称。
语法:
dayname(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
monthname 函数
返回指定日期的月份的名称。
语法:
monthname(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
to_seconds 函数
返回指定的日期/日期时间从0年开始的秒数。
语法:
to_seconds(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
last_day 函数
返回月份中的最后一天的函数。
语法:
last_day(date1)
date1支持值类型:支持 date,datetime,char,varchar 数据类型。
date_format 函数
日期格式化函数。
语法:
date_format(date1, format)
date1支持值类型:支持 date,datetime,char,varchar 数据类型,不支持 date1包含 null 场景。format 规定日期/时间的输出格式。可以使用的格式如下表。
格式 | 描述 |
%a | 缩写星期名。 |
%b | 缩写月名。 |
%c | 月,数值。 |
%D | 带有英文前缀的月中的天。 |
%d | 月的天,数值(00 - 31)。 |
%e | 月的天,数值(0 - 31)。 |
%f | 微秒。 |
%H | 小时(00 - 23)。 |
%h | 小时(01 - 12)。 |
%I | 小时(01 - 12)。 |
%i | 分钟,数值(00 - 59)。 |
%j | 年的天(001 - 366)。 |
%k | 小时(0 - 23)。 |
%l | 小时(1 - 12)。 |
%M | 月名。 |
%m | 月,数值(00 -12)。 |
%p | AM 或 PM。 |
%r | 时间,12 - 小时(hh:mm:ss AM 或 PM)。 |
%S | 秒(00 - 59)。 |
%s | 秒(00 - 59)。 |
%T | 时间,24 - 小时(hh:mm:ss)。 |
%U | 周(00 - 53)星期日是一周的第一天。 |
%u | 周(00 - 53)星期一是一周的第一天。 |
%V | 周(01 - 53)星期日是一周的第一天,与 %X 使用。 |
%v | 周(01 - 53)星期一是一周的第一天,与 %x 使用。 |
%W | 星期名。 |
%w | 周的天(0 = 星期日,6 = 星期六)。 |
%X | 年,其中的星期日是周的第一天,4位,与 %V 使用。 |
%x | 年,其中的星期一是周的第一天,4位,与 %v 使用。 |
%Y | 年,4位。 |
%y | 年,2位。 |