Skip to content

日期和时间函数

日期和时间函数用于对日期和时间类型数据做操作。

NOW

text
now(fsp)

按照 YYYY-MM-DD HH:mm:ss 返回当前时间,如果提供了 fsp 参数来指定从 0 到 6 的小数秒精度,则返回值包括该数字所对应的小数秒部分。

CURRENT_TIMESTAMP

text
current_time(fsp)

NOW 函数的同义词。

LOCAL_TIME

text
local_time(fsp)

NOW 函数的同义词。

LOCAL_TIMESTAMP

text
local_timestamp(fsp)

NOW 函数的同义词。

CUR_DATE

text
cur_date()

按照 YYYY-MM-DD 的格式返回当前日期。

CURRENT_DATE

text
current_date()

CUR_DATE 的同义词。

CUR_TIME

text
cur_time()

按照 HH:mm:ss 的格式返回当前时间。

CURRENT_TIME

text
current_time()

CUR_TIME 的同义词。

FORMAT_TIME

text
format_time(time, format)

按照 format 格式化 time,返回格式化后的字符串。

DATE_CALC

text
date_calc(date, duration)

按照 dateduration 计算日期,返回计算后的日期。duration 表示一段时间间隔,可以通过字符串来表示,支持的字符串表示形式如下:

  • 纳秒(nanoseconds):以 "ns" 作为后缀。
  • 微秒(microseconds):以 "us" 或 "µs"(使用 U+00B5,即微符号)作为后缀。
  • 毫秒(milliseconds):以 "ms" 作为后缀。
  • 秒(seconds):以 "s" 作为后缀。
  • 分钟(minutes):以 "m" 作为后缀。
  • 小时(hours):以 "h" 作为后缀。

还支持通过组合来表示更复杂的时间间隔,例如 1h30m 表示 1 小时 30 分钟。在表示中,多个时间单位可以连续组合使用,它们之间不需要空格。

如果需要实现减去一段时间间隔,可以在 duration 前面加上 - 符号,例如 -1h30m 表示减去 1 小时 30 分钟。

以下是一些示例:

text
date_calc('2019-01-01', '1h')
date_calc('2019-01-01', '1h30m')
date_calc('2019-01-01', '1h30m10s')
date_calc('2019-01-01', '1h30m10s100ms')
date_calc('2019-01-01', '1h30m10s100ms200us')
date_calc('2019-01-01', '1h30m10s100ms200us300ns')

DATE_DIFF

text
date_diff(date1, date2)

计算 date1date2 之间的天数差,返回计算后的天数差。

DAY_NAME

text
day_name(date)

返回 date 所在的天的名称,例如 MondayTuesday 等。

DAY_OF_MONTH

text
day_of_month(date)

返回 date 所在的月份的第几天。

DAY

text
day(date)

DAY_OF_MONTH 的同义词。

DAY_OF_WEEK

text
day_of_week(date)

返回 date 所在的星期的第几天,星期天为 1,星期一为 2,以此类推。

DAY_OF_YEAR

text
day_of_year(date)

返回 date 所在的年份的第几天。

FROM_DAYS

text
from_days(days)

days 转换为日期,返回转换后的日期。

FROM_UNIX_TIME

text
from_unix_time(unix_timestamp)

unix_timestamp 转换为日期,返回转换后的日期。

HOUR

text
hour(date)

返回 date 的小时部分。

LAST_DAY

text
last_day(date)

返回 date 所在月份的最后一天。

MICROSECOND

text
microsecond(date)

返回 date 的微秒部分。

MINUTE

text
minute(date)

返回 date 的分钟部分。

MONTH

text
month(date)

返回 date 的月份部分。

MONTH_NAME

text
month_name(date)

返回 date 的月份名称,例如 JanuaryFebruary 等。

SECOND

text
second(date)

返回 date 的秒部分。