我有一张桌子,上面有date_added
列的格式为2014-09-30 20:39:17
我有一个网页,其中包含供用户使用的过滤器选项。基本上我想使用变量来选择不同的日期范围,如下所示:
SELECT * FROM table WHERE date_added = /* EVERYTHING POSTED TODAY */
SELECT * FROM table WHERE date_added = /* EVERYTHING POSTED WITHIN LAST 7 DAYS */
SELECT * FROM table WHERE date_added = /* EVERYTHING POSTED WITHIN LAST 30 DAYS */
我需要输入什么才能使这些变量发挥作用?
您可以使用CURRENT_DATE https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_current-date or CURRENT_TIMESTAMP
而且很简单INTERVAL
算术。
在以下示例中,假设查询执行于2014-10-21 22:25:28
:
SELECT * FROM table WHERE date_added >= CURRENT_DATE
-- >= 2014-10-21 00:00:00
SELECT * FROM table WHERE date_added >= CURRENT_TIMESTAMP - INTERVAL 24 HOUR
-- >= 2014-10-20 22:25:28
SELECT * FROM table WHERE date_added >= CURRENT_DATE - INTERVAL 7 DAY
-- >= 2014-10-14 00:00:00
SELECT * FROM table WHERE date_added >= CURRENT_DATE - INTERVAL 30 DAY
-- >= 2014-09-21 00:00:00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)