datediff1
datediff1函数用于计算两个时间date1、date2的差值,将差值以指定的时间单位datepart表示。
相似函数:datediff,datediff函数用于计算两个时间date1、date2的日期差值,不支持指定返回的时间单位。
命令格式
datediff1(string date1, string date2, string datepart)
参数说明
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
date1 |
是 |
DATE 或 STRING |
计算两个时间date1、date2的日期差值中的被减数。 格式为:
|
date2 |
是 |
DATE 或 STRING |
计算两个时间date1、date2的日期差值的减数。 格式为:
|
datepart |
是 |
STRING |
代表需要返回的时间单位。 参数datepart支持扩展的日期格式:年-year、月-month或-mon、日-day和小时-hour。
|
返回值说明
返回BIGINT类型。
- date1、date2非DATE或STRING类型时,返回报错,错误信息:data type mismatch;
- date1、date2为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL;
- 如果date1小于date2,返回值为负数。
- date1或date2值为NULL时,返回NULL。
- datepart值为NULL时,返回NULL。
示例代码
返回14400。
select datediff1('2023-06-30 00:00:00', '2023-06-20 00:00:00', 'mi');
返回10。
select datediff1(date '2023-06-21', date '2023-06-11', 'dd');
返回NULL。
select datediff1(date '2023-05-21', date '2023-05-10', null);
返回NULL。
select datediff1(date '2023-05-21', null, 'dd');