📜  Apache Tajo-DateTime函数(1)

📅  最后修改于: 2023-12-03 14:59:21.049000             🧑  作者: Mango

Apache Tajo-DateTime函数

Apache Tajo是一个用于大数据处理的分布式SQL引擎,其中提供了许多DateTime函数以方便处理日期和时间数据。下面介绍一些常用的DateTime函数。

Date类型转换函数
  • toDate:将指定的字符串转换为日期类型。
toDate(string_expr, [format])

其中,string_expr为待转换的字符串,format为可选参数,表示字符串的格式,缺省情况下自动识别日期格式。

例如:

SELECT toDate('2020-03-20');

输出:

2020-03-20
  • toTime:将指定的字符串转换为时间类型。
toTime(string_expr, [format])

参数与toDate函数相同,用法也相同。例如:

SELECT toTime('9:30:05');

输出:

09:30:05
  • toTimestamp:将指定的字符串转换为时间戳类型。
toTimestamp(string_expr, [format])

参数与toDate函数相同,用法也相同。例如:

SELECT toTimestamp('2020-03-20 9:30:05');

输出:

2020-03-20 09:30:05
Date类型操作函数
  • date_trunc:截取指定日期部分,返回截断后的日期类型。支持的日期部分有:'day', 'week', 'month', 'quarter', 'year'。
date_trunc(unit, date_expr)

例如:

SELECT date_trunc('day', toTimestamp('2020-03-20 9:30:05'));

输出:

2020-03-20
  • date_part:获取指定日期部分,返回一个整数。
date_part(unit, date_expr)

例如:

SELECT date_part('year', toTimestamp('2020-03-20 9:30:05'));

输出:

2020
时间间隔函数
  • datediff:计算两个日期之间的天数。
datediff(unit, date_expr1, date_expr2)

其中,unit为时间差的单位,可选值为'day'、'month'和'year'。

例如:

SELECT datediff('day', toTimestamp('2020-03-20'), toTimestamp('2020-03-22'));

输出:

2
  • date_add:向指定日期添加一定的时间间隔。
date_add(date_expr, interval, unit)

其中,interval为一个整数,表示要添加的时间量,unit为时间单位,可选值为'day'、'week'、'month'和'year'。

例如:

SELECT date_add(toTimestamp('2020-03-20'), 2, 'day');

输出:

2020-03-22 00:00:00
  • date_sub:从指定日期中减去一定的时间间隔。
date_sub(date_expr, interval, unit)

参数与date_add函数类似,只是把interval改为负数即可。

例如:

SELECT date_sub(toTimestamp('2020-03-22'), -2, 'day');

输出:

2020-03-20 00:00:00
参考资料