SQL查询当前日期减去180天?

时间:2014-10-18 09:19:55

标签: sql base libreoffice

查询 我收到语法错误:

SELECT "LastFilterDate" 
FROM "Filter Cartridge Updates" 
WHERE "Filter Cartridge Updates"."LastFilterDate" < DATE_SUB(CURDATE(),INTERVAL 180 DAY)

我想选择比当前日期减去180天(6个月)的LastFilterDateS。

我正在使用LibreOffice基础。

有问题的错误:

  

SQL状态:HY000错误代码:1000

     

语法错误,意外$结束,期待BETWEEN或IN或   SQL_TOKEN_LIKE

Sandesh在这个主题上提供了一个很棒的链接,但我仍然遇到语法错误。 我试过的变种:

SELECT * 
FROM Filter Cartridge Updates 
WHERE LastFilterDate BETWEEN DATE( DATE_SUB( NOW() , INTERVAL 180 DAY ) ) AND DATE ( NOW() )


SELECT * 
FROM "Filter Cartridge Updates" 
WHERE "Filter Cartridge Updates"."LastFilterDate" BETWEEN DATE( DATE_SUB( NOW() , INTERVAL 180 DAY ) ) AND DATE ( NOW() )

2 个答案:

答案 0 :(得分:0)

您可以在LibreOffice网站上找到一些帮助。我发现了这个:= DATEDIF(“1974-04-17”;“2012-06-13”;“d”),它产生两个日期之间的天数。

所以你可以改变你的where子句(如果这允许替换 - 你必须测试它),到:

其中= DATEDIF(last_filter_date,current_date;“d”)&gt; 180

注意:我只为日期添加存根,您必须正确格式化。

答案 1 :(得分:0)

问题是你正在使用MYSQL语法来处理非MYSQL的SQL。