gpt4 book ai didi

postgresql - 查询在 postgresql 中有效,但在 hsqldb 中无效

转载 作者:行者123 更新时间:2023-11-29 13:30:48 24 4
gpt4 key购买 nike

column_name 是 int[] 类型

SELECT unnest(column_name) FROM table_name 

上述查询适用于 postgresql 但不适用于 hsqldb,即使使用 sql.syntax_pgs=true

尝试过的 Hsqldb 版本:2.2.9 和 2.3.0

在hsqldb中运行的sql是 SELECT x FROM table_name, unnest(column_name) y(x)x 和 y 不是该表的列。

最佳答案

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

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

SELECT 子句中使用 SRF 是一种怪异的 PostgreSQL 扩展,无论如何都已弃用,以支持 SQL 标准 LATERAL 查询。您展示的替代公式:

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

是正确且首选的形式。所以就用那个吧。

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

关于postgresql - 查询在 postgresql 中有效,但在 hsqldb 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com