【问题标题】:date comparison does not work with aggregation日期比较不适用于聚合
【发布时间】:2021-12-14 05:06:15
【问题描述】:

我最近将我的数据库从 Oracle 10.2g 升级到了 Oracle 11.2.0.4.0g。当我运行查询以查找计数时,它给出了零记录,但是当我使用星号 * 时,它完美地给出了记录的详细信息。以下是我的查询。 CPRODUCT 是一种视图。

SELECT
COUNT(*)
FROM
"CPRODUCT"
INNER JOIN "CATEGORY" ON CATEGORY.ID = CPRODUCT.PID
WHERE
( lastdate BETWEEN '27-OCT-21' AND '27-OCT-21')
and ( "ACGCODE" ='01150');

我无法理解发生了什么。请任何人帮助我。

【问题讨论】:

  • 这很难相信。请发布示例数据来说明您所说的内容。另外,不要将日期与字符串进行比较,不要将表别名与列名一起使用。
  • @WaseemHassan 您的 lastdate 列的数据类型是什么?
  • COUNT() 不是函数。查询可能根本没有运行。
  • @Boneist lastdate 的数据类型是 DATE。

标签: sql database oracle11g


【解决方案1】:

我解决了。认为“CPRODUCT”具有

ORDER BY TO_DATE("CPRODUCT"."LASTDATE")

它被移除了,之后它就可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 2020-12-22
    • 2020-10-05
    • 2013-04-05
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多