当前位置: 首页 > 知识库问答 >
问题:

查询适用于postgresql,但不适用于hsqldb

颜安宁
2023-03-14

列名称的类型为int[]

SELECT unnest(column_name) FROM table_name 

上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql

尝试的hsqldb版本:2.2.9和2.3.0

在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。

共有1个答案

单于旭东
2023-03-14

HSQLDB试图模拟PostgreSQL的语法和功能,但与大多数模拟一样,它并不完美。

IIRC,它遇到的困难之一是PostgreSQL在选择子句中奇怪地使用了集合返回函数。

在SELECT子句中使用SRFs是一种奇怪的PostgreSQL扩展,无论如何都不赞成使用SQL标准横向查询。您展示的替代配方:

SELECT x FROM table_name, unnest(column_name) y(x);

是正确且首选的形式。所以只需使用它。

一般来说,在一个数据库上测试然后部署到另一个数据库是一个痛苦的处方。我强烈建议只设置一个本地PostgreSQL实例进行测试。

 类似资料:
  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 我有两个版本的oracle,oracle Database 11g Enterprise Edition 11.2.0.1.0版本-生产版和oracle Database 11.g Enterprise Edition版本11.2-0.3.0版本-64位生产版 我有这个sql: 它适用于11.2.0.1.0,但在11.2.0.3.0上,我收到此错误: 我能做些什么来解决这个问题? 感谢。

  • 我能够成功地打电话给邮递员: /mfp/api/az/v1/token和 /mfpadmin/management-apis/2.0/runtimes/mfp/applications 我正在获取从/mfp/api/az/v1/token接收的承载令牌,并将其添加到/mfp/applications的授权标头中。 我收到了来自两者的200个响应,并从每个API中获取了预期的信息。 然后,我选择从P

  • 我一直在使用声纳3.2 同样的配置,当我升级到SonarQube 4.4时 声纳项目属性: 请帮助整理这些例外 问候, KP

  • 我已经看过并尝试了几乎所有关于这个话题的其他帖子,但运气不好。 我使用的是python 3.6,所以我使用的是以下AMI