日期和时间函数
日期和时间函数用于对日期和时间类型数据做操作。
NOW
now(fsp)
按照 YYYY-MM-DD HH:mm:ss
返回当前时间,如果提供了 fsp
参数来指定从 0 到 6 的小数秒精度,则返回值包括该数字所对应的小数秒部分。
CURRENT_TIMESTAMP
current_time(fsp)
NOW
函数的同义词。
LOCAL_TIME
local_time(fsp)
NOW
函数的同义词。
LOCAL_TIMESTAMP
local_timestamp(fsp)
NOW
函数的同义词。
CUR_DATE
cur_date()
按照 YYYY-MM-DD
的格式返回当前日期。
CURRENT_DATE
current_date()
CUR_DATE
的同义词。
CUR_TIME
cur_time()
按照 HH:mm:ss
的格式返回当前时间。
CURRENT_TIME
current_time()
CUR_TIME
的同义词。
FORMAT_TIME
format_time(time, format)
按照 format
格式化 time
,返回格式化后的字符串。
DATE_CALC
date_calc(date, duration)
按照 date
和 duration
计算日期,返回计算后的日期。duration
表示一段时间间隔,可以通过字符串来表示,支持的字符串表示形式如下:
- 纳秒(nanoseconds):以 "ns" 作为后缀。
- 微秒(microseconds):以 "us" 或 "µs"(使用 U+00B5,即微符号)作为后缀。
- 毫秒(milliseconds):以 "ms" 作为后缀。
- 秒(seconds):以 "s" 作为后缀。
- 分钟(minutes):以 "m" 作为后缀。
- 小时(hours):以 "h" 作为后缀。
还支持通过组合来表示更复杂的时间间隔,例如 1h30m
表示 1 小时 30 分钟。在表示中,多个时间单位可以连续组合使用,它们之间不需要空格。
如果需要实现减去一段时间间隔,可以在 duration
前面加上 -
符号,例如 -1h30m
表示减去 1 小时 30 分钟。
以下是一些示例:
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
date_diff(date1, date2)
计算 date1
和 date2
之间的天数差,返回计算后的天数差。
DAY_NAME
day_name(date)
返回 date
所在的天的名称,例如 Monday
、Tuesday
等。
DAY_OF_MONTH
day_of_month(date)
返回 date
所在的月份的第几天。
DAY
day(date)
DAY_OF_MONTH
的同义词。
DAY_OF_WEEK
day_of_week(date)
返回 date
所在的星期的第几天,星期天为 1,星期一为 2,以此类推。
DAY_OF_YEAR
day_of_year(date)
返回 date
所在的年份的第几天。
FROM_DAYS
from_days(days)
将 days
转换为日期,返回转换后的日期。
FROM_UNIX_TIME
from_unix_time(unix_timestamp)
将 unix_timestamp
转换为日期,返回转换后的日期。
HOUR
hour(date)
返回 date
的小时部分。
LAST_DAY
last_day(date)
返回 date
所在月份的最后一天。
MICROSECOND
microsecond(date)
返回 date
的微秒部分。
MINUTE
minute(date)
返回 date
的分钟部分。
MONTH
month(date)
返回 date
的月份部分。
MONTH_NAME
month_name(date)
返回 date
的月份名称,例如 January
、February
等。
SECOND
second(date)
返回 date
的秒部分。