Skip to content

TIMESTAMP Functions

函数列表

下表显示了TIMESTAMP类型的可用函数。

FunctionInput TypeReturn TypeDescription
now()TIMESTAMP_NS返回精度为纳秒的配置时区的时间
current_date()Date返回当前日期
current_time()String返回精度为纳秒的UTC当前时间,不包含日期
date_bin(interval, expression[, origin-timestamp])(INTERVAL1, exp[, TIMESTAMP])TIMESTAMP根据输入的 interval 时间单位对 expression 进行截断,可以指定 origin-timestamp 作为起始时间,不指定则默认为 UNIX epoch in UTC,例如: date_bin('1 hour', ts) 表示按照每一小时进行截断
date_trunc(precision, expression)(PRECISION2, exp)TIMESTAMP根据输入的 precision 精度单位对 expression 进行截断
datetrunc(precision, expression)date_trunc 的别名
date_part(part, expression)(PART3, exp)NUMERIC根据指定的 part 获取 expression 的指定部分,例如: date_part('hour', now())
datepart(part, expression)date_part 的别名
extract(field FROM expression)(FIELD4, exp)NUMERIC获取 expression 的指定部分,等同于 datepart,例如: extract(hour from now())
today()String返回当前日期
make_date(year, month, day)(YEAR, MONTH, DAY)5String构造一个日期
to_char(expression, format)(exp, FORMAT)Date根据指定的 format 格式化日期
to_date(expression[, ..., format_n])(exp[, ... FORMAT])Date根据指定的格式化转化成日期,指定多个格式化时依次解析直到符合格式
to_timestamp(expression[, ..., format_n])(exp[, ... FORMAT])TIMESTAMP_NS根据指定的格式化转化成纳秒精度的时间戳,指定多个格式化时依次解析直到符合格式
to_timestamp_millis(expression[, ..., format_n])(exp[, ... FORMAT])TIMESTAMP_MS根据指定的格式化转化成毫秒精度的时间戳,指定多个格式化时依次解析直到符合格式
to_timestamp_micros(expression[, ..., format_n])(exp[, ... FORMAT])TIMESTAMP_US根据指定的格式化转化成微秒精度的时间戳,指定多个格式化时依次解析直到符合格式
to_timestamp_seconds(expression[, ..., format_n])(exp[, ... FORMAT])TIMESTAMP_S根据指定的格式化转化成秒精度的时间戳,指定多个格式化时依次解析直到符合格式
to_timestamp_nanos(expression[, ..., format_n])(exp[, ... FORMAT])TIMESTAMP_NS根据指定的格式化转化成纳秒精度的时间戳,指定多个格式化时依次解析直到符合格式
from_unixtime(expression)INTEGERTIMESTAMP_S从 unix 时间戳转换成时间戳
to_unixtime(expression[, ..., format_n])(exp[, ... FORMAT])INTEGER根据指定的格式化转化成 unix 时间戳,指定多个格式化时依次解析直到符合格式

TIP

  1. INTERVAL 为形如'2 hours' 的字符串,可用精度单位:'nanoseconds', 'microseconds', 'milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years'
  2. PRECISION 为形如 'hour' 的字符串,可用精度单位:'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second'
  3. PART 为形如 'minute' 字符串,可用部分:'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond', 'microsecond', 'nanosecond', 'dow', 'doy', 'epoch'
  4. FIELD 为形如 minute 的标识符,不同于 PART 是不需要引号的
  5. YEAR, MONTH, DAY 既可以是整数类型,也可以是整数类型的字符串形式

示例

SQL
-- 返回当前连接节点的版本信息
SELECT speed,temperature FROM sensor_info WHERE sn = '20230629' and ts > NOW() - interval '7 days';

-- 以 `1 day` 分割点进行聚合
SELECT date_bin('1 days', ts) as timepoint, count(*) as total from sx1  group by timepoint;