SQL 语句中对时间的操作主要包括以下几种:
-
提取时间元素
YEAR(date_column)
: 提取年份MONTH(date_column)
: 提取月份DAY(date_column)
: 提取日HOUR(time_column)
: 提取小时MINUTE(time_column)
: 提取分钟SECOND(time_column)
: 提取秒
-
时间计算
DATE_ADD(date, INTERVAL expr unit)
: 对日期进行加减运算DATEDIFF(date1, date2)
: 计算两个日期之间的天数差TIMEDIFF(time1, time2)
: 计算两个时间之间的差值TIMESTAMPDIFF(unit, datetime1, datetime2)
: 计算两个时间戳之间的差值
-
时间格式转换
DATE_FORMAT(date, format)
: 将日期格式化为字符串TIME_FORMAT(time, format)
: 将时间格式化为字符串STR_TO_DATE(str, format)
: 将字符串转换为日期
-
时间比较
date1 < date2
: 比较两个日期大小time1 < time2
: 比较两个时间大小datetime1 < datetime2
: 比较两个时间戳大小
-
时间范围查询
WHERE date_column BETWEEN '2023-01-01' AND '2023-12-31'
: 查询指定日期范围内的记录WHERE time_column >= '09:00:00' AND time_column < '18:00:00'
: 查询指定时间范围内的记录
-
当前时间获取
CURDATE()
: 获取当前日期CURTIME()
: 获取当前时间NOW()
: 获取当前日期和时间