技术需求:获取匹配时间/日期检测查询及已排期匹配时间查询
时间/日期匹配及已完成安排的查询语句示例
一、检测匹配时间/日期的查询语句
以下是针对不同匹配场景的SQL查询示例(以MySQL为例,其他数据库可调整对应函数):
- 精确匹配某一天的安排:
SELECT * FROM schedules WHERE DATE(schedule_time) = '2024-05-20'; - 匹配指定时间段内的安排:
SELECT * FROM schedules WHERE schedule_time BETWEEN '2024-05-13 00:00:00' AND '2024-05-19 23:59:59'; - 匹配指定年份+月份的安排:
SELECT * FROM schedules WHERE YEAR(schedule_time) = 2024 AND MONTH(schedule_time) = 5; - 匹配未来7天内的安排:
SELECT * FROM schedules WHERE schedule_time >= NOW() AND schedule_time <= DATE_ADD(NOW(), INTERVAL 7 DAY);
二、查询已安排完成的时间/日期
已完成的安排通常指事件结束时间早于当前时间,示例如下:
- 查询所有已完成的安排:
SELECT * FROM schedules WHERE end_time < NOW(); - 查询指定日期范围内已完成的安排:
SELECT * FROM schedules WHERE end_time < NOW() AND DATE(schedule_time) BETWEEN '2024-04-01' AND '2024-04-30';
注意事项
- 请根据实际数据表结构调整字段名(如
schedule_time、end_time、schedules) - 不同数据库的时间函数略有差异:
- PostgreSQL 使用
CURRENT_TIMESTAMP替代NOW() - SQL Server 使用
GETDATE()替代NOW()
- PostgreSQL 使用
内容的提问来源于stack exchange,提问作者ninja_haze_developer2484
相关产品推荐
相关产品推荐

