1.根据天数筛选
SELECT *
FROM coupons
WHERE NOW() BETWEEN start_time AND end_time;
在这个查询中,NOW()
函数返回当前的日期和时间。BETWEEN
操作符用于检查NOW()
返回的当前时间是否在start_time
和end_time
之间(包括这两个时间)。
注意:
2.根据时间筛选
AND CURTIME( ) >= start_time AND CURTIME( ) <= end_time
上述start_time
和end_time
字段只包含时间(例:23:59:59)
注意:如果你的start_time
和end_time
字段是DATETIME
或TIMESTAMP
类型,并且包含日期部分,但你只关心时间部分,你可以使用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_time
和end_time
字段中的时间部分。