时间字段的处理
# 时间字段的处理
# 日期的加减
# 1、增加时间
# 日期 小于 当前日期加上 30 天
( my_date < CURDATE() + INTERVAL 30 DAY )
# 日期加上 30 天
ADDDATE(my_date, INTERVAL 30 DAY)
# 时间(time) 加上 2 小时
ADDTIME(my_time, '02:00:00')
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
函数解析:
ADDDATE(date, interval)
函数用于将指定的时间间隔(interval)添加到给定的日期(date)上。ADDTIME(time, interval)
函数用于将指定的时间间隔(interval)添加到给定的时间(time)上。
# 2、减少时间
# 一个日期减 30 天后,在'2024-01-27' 和 '2024-02-27' 的范围内的数据
( my_date - INTERVAL 30 DAY ) BETWEEN '2024-01-27' AND '2024-02-27'
# 一个日期中减去 30 天
ADDDATE(my_date, INTERVAL -30 DAY)
# 一个时间中减去 2 小时
ADDTIME(my_time, '-02:00:00')
# 当天减一天(即昨天)
DATE_SUB( CURDATE(), INTERVAL 1 DAY )
# 例如今天是 2024-7-12,则下面拼接后的时间为 2024-7-11 23:59:59
CONCAT( DATE_SUB( CURDATE(), INTERVAL 1 DAY ), ' 23:59:59' )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
函数解析:
DATE_SUB(date, interval)
函数用于将指定的日期(date)上减去时间间隔(interval)。
# 计算两个日期之差
DateDiff()
函数示例:计算 当前时间 和 某一个时间 的时间差
DATEDIFF( NOW(), time )
1
# 格式化日期字段
- 语法:
DATE_FORMAT(date, format)
- 描述: 将日期格式化为指定的字符串。
- 应用: 用于在查询中按照特定的日期格式显示日期。
SELECT name, DATE_FORMAT(birthdate, '%Y-%m-%d') AS formatted_birthdate FROM
1
# 获取时间字段的年份
示例:
-- 获取当前时间的年份
YEAR (CURDATE())
-- 近三年条件过滤
and check_year BETWEEN YEAR (CURDATE()) - 2 AND YEAR (CURDATE())
1
2
3
4
5
2
3
4
5
上次更新: 2025/1/6 17:59:10