0

我有一个简单的 DB2 SQL 查询:

SELECT DISTINCT a FROM (SELECT a, b FROM schema.table WHERE APPR_STATUS = 'Approved');

当我在 DBeaver 内的 DB2 DB 上的任何表上尝试这样的示例查询时,我收到以下错误:

SQL Error [56038]: ATTEMPT TO USE A FUNCTION WHEN THE APPLICATION COMPATIBILITY SETTING IS SET FOR A PREVIOUS LEVEL. SQLCODE=-4743, SQLSTATE=56038, DRIVER=4.13.127

当我在 DB2 支持站点中查找特定的 SQLCODE 时,它提到发生这种情况是因为查询不会运行,尽管他们没有说明为什么它不会运行。有人可以帮我弄清楚为什么这个查询不会运行吗?

4

2 回答 2

2

您也缺少表表达式别名

SELECT DISTINCT a FROM (
  SELECT a, b FROM schema.table WHERE APPR_STATUS = 'Approved'
) x

看到x我在最后添加了吗?

于 2020-04-01T11:47:50.460 回答
0

感谢@mao 上面的评论,我在 DBeaver 中执行了以下命令:

SET CURRENT APPLICATION COMPATIBILITY = 'V11R1';并且查询得到修复。

于 2020-04-01T11:29:26.020 回答