您的当前位置:首页正文

mysql 根据当前时间筛选某个时间范围内的数据

2024-11-07 来源:个人技术集锦

1.根据天数筛选

SELECT *
FROM coupons
WHERE NOW() BETWEEN start_time AND end_time;

        在这个查询中,NOW()函数返回当前的日期和时间。BETWEEN操作符用于检查NOW()返回的当前时间是否在start_timeend_time之间(包括这两个时间)。

注意:

2.根据时间筛选

AND CURTIME( ) >= start_time AND CURTIME( ) <= end_time

上述start_timeend_time字段只包含时间(例:23:59:59)

注意:如果你的start_timeend_time字段是DATETIMETIMESTAMP类型,并且包含日期部分,但你只关心时间部分,你可以使用TIME()函数来提取这些字段中的时间部分进行比较:

SELECT *
FROM coupons
WHERE 
    TIME(NOW()) >= TIME(start_time) AND 
    TIME(NOW()) <= TIME(end_time);

在这个查询中,NOW()函数返回当前的日期和时间,而TIME(NOW())则只提取当前的时间部分。同样,TIME(start_time)TIME(end_time)分别提取start_timeend_time字段中的时间部分。

显示全文