Hologres兼容PostgreSQL,支持使用标准的PostgreSQL语法进行开发。

Hologres已支持的时间和日期函数列表如下。当前Hologres版本支持的函数是PostgreSQL的一个子集,函数的使用方法请参见时间和日期函数时间格式化函数
函数名 描述 用例 结果
to_char(timestamp, text) 将时间戳转换为字符串。 to_char(current_timestamp, 'HH12:MI:SS') 06:26:33
to_char(int, text) 将整数转换为字符串。 to_char(125, '999') 125
to_char(double precision, text) 将实数或双精度数转换为字符串。 to_char(125.8::real, '999D9') 125.8
to_date(text, text) 将字符串转换为日期。
  • to_date('05 Dec 2000', 'DD Mon YYYY')
  • to_date('2000 12 05', 'YYYY MM DD')
2000-12-05
to_number(text, text) 将字符串转换为数字。 to_number('12,454.8-', '99G999D9S') -12454.8
to_timestamp(text, text) 将字符串转换为时间戳。 to_timestamp('05 Dec 2000', 'DD Mon YYYY') 2000-12-05 00:00:00
date - date 日期的减法运算。 date '2001-10-01' - date '2001-09-28' 3
clock_timestamp() 获取当前的实际时间。 clock_timestamp() 2020-05-03 06:32:28.814918+08
current_date 获取当前日期。 current_date 2020-05-03
current_timestamp 获取当前时间戳。 current_timestamp 2020-05-03 06:33:36.113682+08
date_part(text, timestamp) 从时间戳中获取子字段。 date_part('hour', timestamp '2001-02-16 20:38:40') 20.0
date_trunc(text, timestamp) 截断时间戳到指定精度。 date_trunc('hour', timestamp '2001-02-16 20:38:40') 2001-02-16 20:00:00
extract(field from timestamp) 从时间戳中获取子字段。 extract(hour from timestamp '2001-02-16 20:38:40') 20.0
isfinite(date) 判断日期是否为有限值。 isfinite(date '2001-02-16') true
isfinite(timestamp) 判断时间戳是否为有限值。 isfinite(timestamp '2001-02-16 21:28:30') true
isfinite(interval) 判断INTERVAL是否为有限区间。 isfinite(interval '4 hours') true
make_date(year int, month int, day int) 使用年月日创建日期。 make_date(2013, 7, 15) 2013-07-15
localtimestamp 获取不包含时区的当前时间。 localtimestamp 2020-08-21 12:02:21.178031
now() 获取当前时间戳。 now() 2020-05-03 06:38:48.492168+08
statement_timestamp() 获取当前语句开始的时间。 statement_timestamp() 2020-05-05 06:39:11.125957+08
timeofday() 获取当前实际时间。
说明 时间使用格式化文本字符串格式。
timeofday() Tue May 03 06:39:43.195368 2020 CST
transaction_timestamp() 获取当前时间戳。 transaction_timestamp() 2020-05-03 06:40:08.023623+08
to_timestamp(double precision) 将Unix Epoch转换为时间戳。
说明 从1970-01-01 00:00:00+00的秒数开始转换。
to_timestamp(1284352323) 2010-09-13 04:32:03