ORACLE APEX-ORA 01722 Invalid Number ERROR

6 浏览
0 Comments

ORACLE APEX-ORA 01722 Invalid Number ERROR

我不明白为什么会出现这个错误。\n

选择
    to_char(view_date, 'Month') 月份,
    COUNT(*) AS countx
从
    AXY_TABLE
分组
    to_char(view_date,'Month') 
排序
to_char(view_date, 'Month'),
    COUNT(*) desc;

\n当我在交互式报告中执行这个查询时,它会抛出ORA-01722错误。这个查询不仅在SQL开发人员中正确运行,而且作为经典报告也正确运行。当我将类型更改为交互式报告时,它再次抛出相同的错误。\n我该怎么办?\n非常感谢。

0
0 Comments

问题的原因是ORDER BY子句中的聚合函数导致的。解决方法是移除ORDER BY子句中的聚合函数。

SELECT
    to_char(view_date, 'Month') MONAT ,
    COUNT(*) AS countx
FROM
    AXY_TABLE
GROUP BY
    to_char(view_date,'Month') 
ORDER BY
    to_char(view_date, 'Month');

在这个例子中,ORDER BY子句按照第二列的位置进行排序。然而,由于结果集中每个月份只有一行数据,所以只需要按照月份进行排序即可。将ORDER BY子句修改为只按照月份排序即可解决问题。

我已经完全移除了ORDER BY子句,但仍然出现相同的错误。当我在第二个交互式报表中使用这段代码时,出现了这个问题。第一个报表运行正确,但第二个报表失败了。我不知道为什么会出现这个问题。

很遗憾,根据对代码功能的简要描述,很难进行调试。

0