在MySQL中简要地查找不到6个月前的行

prc*_*aen 3 mysql date

我想在6个月前和今天之间找到我桌子上的条目.这是我目前正在运行的查询:

WHERE (DATE(l.date_fin) BETWEEN DATE(DATE_ADD(NOW(), INTERVAL -6 MONTH)) AND CURDATE())
Run Code Online (Sandbox Code Playgroud)

但是,它看起来并不合适:感觉有一种更简洁和/或更快的方式来获得与此查询相同的结果.有没有这样的方式?

Pug*_* Se 9

这应该足以得到你想要的东西:

WHERE l.date_fin > CURRENT_DATE() - INTERVAL 6 MONTH;
Run Code Online (Sandbox Code Playgroud)


New*_*ess 3

像这样的事情怎么样?

SELECT l.date_fin FROM table WHERE TIMESTAMPDIFF(MONTH,l.date_fin,NOW()) < 6
Run Code Online (Sandbox Code Playgroud)