尝试使用单个查询按日期过滤mysql表

Dan*_*ews 0 php mysql database

我正在尝试使用单个查询请求今天或之后出现的表中的任何记录.
每条记录的所有日期都存储在单独的列中,例如.- 一个month,一个year,一个day.

很明显,我已经获得了今年之后发生的所有记录

$sql = "SELECT * FROM table WHERE year>=".$year_today." 
       ORDER BY year, month, day";
Run Code Online (Sandbox Code Playgroud)

然后我一直试图通过使用以下来过滤掉一点:

$sql = "SELECT * FROM table 
        WHERE year>=".$year_today." && month>=".$month_today." 
              && day>=".$day_today." 
        ORDER BY year, month, day";
Run Code Online (Sandbox Code Playgroud)

为了测试它,我在昨天的日期在数据库中创建了一条记录,但是,这条记录仍然出现在返回记录列表中.我究竟做错了什么?:(

joh*_*nes 5

这可以使用时间函数以一种很好的方式实现,而使用DATE列则更好.

SELECT * FROM TABLE WHERE TIMESTAMP(CONCAT(year,"-",month,"-",day)) >= CURDATE()
Run Code Online (Sandbox Code Playgroud)

好吧,这是邪恶的,因为它不使用索引...正确的事情将是一个DATE列,但手工做所有这一切都很烦人,因为你还要考虑年份较大但月份较小的情况.. ..