【问题标题】:Filtering Date for current date -30 days fails当前日期 -30 天的过滤日期失败
【发布时间】:2016-05-17 16:17:22
【问题描述】:

我仍在学习 SQL 并拥有一个示例数据库,并试图仅显示过去 30 天内的订单。谁能告诉我我的代码在哪里不正确,以及如何修复它?

SELECT c.FIRSTNAME || ' ' || c.LASTNAME as CUSTOMER, o.ORDERDATE
FROM CUSTOMER c 
WHERE o.orderdate >= DATEADD(day,-30, getdate()) 
and   o.orderdate <= getdate()
LEFT JOIN
     ORDERS o
     ON c.CUSTOMERID = o.CUSTOMERID

我很感激任何帮助。

在旁注中,我正在为下周的周三和周四寻找 SQL 教练来帮助解决这些问题。愿意通过 PayPal 付款并提供 WebEx 供我们工作。我认为总共不会超过 4-5 小时。如果您想帮助学生并快速赚钱,请告诉我您的电子邮件地址。

谢谢!

【问题讨论】:

    标签: sql oracle date filter


    【解决方案1】:

    一种选择是使用SYSDATE 偏移适当的INTERVAL

    SELECT c.FIRSTNAME || ' ' || c.LASTNAME as CUSTOMER, o.ORDERDATE
    FROM CUSTOMER c
    LEFT JOIN ORDERS o
        ON c.CUSTOMERID = o.CUSTOMERID
    WHERE o.orderdate >= SYSDATE - INTERVAL '30' DAY AND o.orderdate <= SYSDATE
    

    【讨论】:

    • 完美运行 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多