mysql 日期时间常用函数:

1.获取系统时间

#获取当前系统的日期时间
SELECT NOW(); # 2021-12-22 13:50:58

#获取当前系统的日期
SELECT CURDATE(); # 2021-12-22

#获取当前系统的时间
SELECT CURTIME(); # 13:53:11

2. 从日期格式的字符串中提取

#从日期格式的字符串中获取年、月、日、时、分、秒 ,示例字符串:2021-12-22 13:50:58
# 使用函数 extract(type from data)

SELECT EXTRACT(YEAR FROM '2021-12-22 13:50:58'); # 2021

SELECT EXTRACT(MONTH FROM '2021-12-22 13:50:58'); # 12

SELECT EXTRACT(DAY FROM '2021-12-22 13:50:58'); # 22

SELECT EXTRACT(HOUR FROM '2021-12-22 13:50:58'); # 13

SELECT EXTRACT(MINUTE FROM '2021-12-22 13:50:58'); # 50

SELECT EXTRACT(SECOND FROM '2021-12-22 13:50:58'); # 58

3. 日期增加或减少

#日期增加,使用函数date_add(date,INTERVAL exp type)
#增加1天
SELECT DATE_ADD('2021-12-22 13:50:58', INTERVAL 1 DAY);  # 2021-12-23 13:50:58
#增加1小时
SELECT DATE_ADD('2021-12-22 13:50:58', INTERVAL 1 HOUR);  # 2021-12-23 14:50:58

#日期减少,使用函数date_sub(date,INTERVAL exp type)
# 减少1天
SELECT DATE_SUB('2021-12-01 13:50:58', INTERVAL 1 DAY); # 2021-11-30 13:50:58

#其他间隔
INTERVAL 1 YEAR
INTERVAL 1 MONTH
INTERVAL 1 DAY
INTERVAL 1 HOUR
INTERVAL 1 MINUTE
INTERVAL 1 SECOND

4. 日期格式化

#日期格式化,注意mysql中日期时间格式化字符串的写法:'%Y-%m-%d %H:%i:%s'
SELECT DATE_FORMAT('2021-12-01 13:50:58', '%Y/%m/%d %H:%i:%s'); # 2021/12/01 13:50:58

# '%Y%m-%d %H:00:00',取日期和时间的整点数,分钟和秒钟为00
SELECT DATE_FORMAT('2021-12-01 13:50:58', '%Y-%m-%d %H:00:00'); # 2021/12/01 13:00:00