【问题标题】:SQL Statement: Where Clause for Date Range?SQL 语句:日期范围的 Where 子句?
【发布时间】:2019-07-15 16:31:05
【问题描述】:

我正在尝试将 WHERE 子句写入 SQL 语句。我想为我的数据输出日期范围 b/c Excel 试图将更多的数据输出到工作表中,而不是它可以处理的数据。所以,这就是 SQL 语句。我只想显示数据 >01/01/2018,但未能成功生成语句。

我收到一个错误:ORA-00933: SQL 命令未正确结束。

SELECT "V_RELEASES_COMB"."ITEMNO",
       "V_RELEASES_COMB"."REV",
       "V_RELEASES_COMB"."DESCRIP",
       "V_RELEASES_COMB"."ORDERNO",
       "V_RELEASES_COMB"."PONO",
       "V_RELEASES_COMB"."RELEASE_QUAN",
       "V_RELEASES_COMB"."REQUEST_DATE",
       "V_RELEASES_COMB"."PROMISE_DATE",
       "V_RELEASES_COMB"."SHIP_DATE",
       "V_RELEASES_COMB"."CUSTNO",
       "V_RELEASES_COMB"."COMPANY",
       "V_RELEASES_COMB"."DAYS_DIFF",
       "V_RELEASES_COMB"."CUMM_SHIPPED",
       "V_RELEASES_COMB"."EPLANT_ID",
       "EPLANT"."COMPANY",
       "V_RELEASES_COMB"."ACTUAL_SHIPDATE"
FROM "IQMS"."V_RELEASES_COMB" "V_RELEASES_COMB"
     LEFT OUTER JOIN "IQMS"."EPLANT" "EPLANT" ON "V_RELEASES_COMB"."EPLANT_ID" = "EPLANT"."ID"
WHERE "V_RELEASES_COMB"."SHIP_DATE" > 01 / 01 / 2018
  "V_RELEASES_COMB"."CUMM_SHIPPED" > 0
  AND "V_RELEASES_COMB"."EPLANT_ID" > 79
ORDER BY "V_RELEASES_COMB"."CUSTNO";

【问题讨论】:

  • 写SQL时请考虑代码的可读性;空格和换行符是编写代码的重要部分(我已经为你格式化了)。注意到您的错误,这不是 SQL Server 错误。我怀疑有些东西正在使用 Oracle。现在我已经为您格式化了您的代码,请注意在"V_RELEASES_COMB"."CUMM_SHIPPED" > 0" 之前缺少一些内容

标签: sql excel vba oracle excel-formula


【解决方案1】:

如果“SHIP_DATE”是日期类型列,您应该能够在 WHERE 子句中使用 SQL 格式。

WHERE "V_RELEASES_COMB"."SHIP_DATE" > '2018-11-01'

如果这没有帮助,您可以发布存储数据的示例吗?

【讨论】:

    【解决方案2】:

    我无法解释您遇到的问题。但是,您应该将WHERE 子句编写为:

    WHERE "V_RELEASES_COMB"."SHIP_DATE" > DATE '2018-01-01' AND
          "V_RELEASES_COMB"."CUMM_SHIPPED" > 0 AND
          "V_RELEASES_COMB"."EPLANT_ID" > 79
    

    您将日期与计算进行比较 -- 2018 年 1 月 1 日,而不是日期。

    【讨论】:

      【解决方案3】:

      如前所述,我认为不要像这样写日期:

      01 / 01 / 2018

      你应该这样写:

      '01/01/2018'

      【讨论】:

      • 这个答案提供的信息不比已经提交的其他答案更多 - 如果您要回答,您应该提出更好/替代的解决方案,而不是重复已经说过的内容。
      • 哦,好吧,我认为我所说的比其他关于实际日期格式的评论更具体一些。
      猜你喜欢
      • 2019-10-21
      • 2020-09-30
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 2022-01-23
      相关资源
      最近更新 更多