日期和时间函数及运算符

本页说明 Polars SQL 中可用的日期和时间函数。

日期和时间函数

current_date -> date()

返回当前日期。

current_timestamp -> timestamp()

返回当前时间戳。

区间函数

支持的 date_add 形式接受以下单位:

  • date 输入:daymonthyear

  • timestamp 输入:dayhourminutesecondmonthyear

date_add(unit, value, timestamp) -> [same as input]()

timestamp 加上类型为 unit、值为 value 的间隔。使用负值即可执行减法。

已验证示例:

SELECT date_add('day', 5, date '2024-01-10'); -- 2024-01-15
SELECT date_add('month', 1, date '2024-01-31'); -- 2024-02-29
SELECT date_add('hour', 2, timestamp '2024-01-01 01:00:00'); -- 2024-01-01 03:00:00.0
dateadd(unit, value, timestamp) -> [same as input]()

date_add() 的别名。

date_add(date_expr, delta) -> [same as input]()

date_expr 加上 delta 天。

date_diff(timestamp1, timestamp2) -> integer()

以天为单位返回 timestamp2 - timestamp1

date_diff(timestamp1, timestamp2, unit) -> integer()

按指定 unit 返回 timestamp2 - timestamp1。支持的单位包括 yearmonthdayhourminutesecond

datedif(timestamp1, timestamp2[, unit]) -> integer()

date_diff() 的别名。

提取函数

extract 函数支持以下字段:

字段

说明

YEAR

year()

MONTH

month()

DAY

day()

DAY_OF_MONTH

day()

HOUR

hour()

MINUTE

minute()

SECOND

second()

extract(field FROM x) -> integer()

x 中返回 field

备注

该 SQL 标准函数使用特殊语法指定参数。

便捷提取函数

day(x) -> integer()

x 中返回月份中的日期。

hour(x) -> integer()

x 中返回一天中的小时。取值范围为 023

minute(x) -> integer()

x 中返回小时中的分钟。

month(x) -> integer()

x 中返回年份中的月份。

quarter(x) -> integer()

x 中返回年份中的季度。取值范围为 14

second(x) -> integer()

x 中返回分钟中的秒。

year(x) -> integer()

x 中返回年份。