首页 > 解决方案 > Postgresql 高级 SQL 中的反斜杠字符错误

问题描述

我正在尝试在 Postgresql 上运行此查询:

SELECT city, year, SUM(raindays)
FROM rainfall
GROUP BY city,year 
HAVING SUM(raindays)>120
ORDER BY city
\crosstabview

在命令上,它运行得很好,但是,在任何基于 JDBC 的上下文中,它都会抛出一个错误:SQL Error [42601]: ERROR: syntax error at or near "\"

无法识别crosstabview后面的反斜杠。我该如何克服呢?

任何帮助都感激不尽。

标签: postgresqlpivot-tablepsqlcrosstab

解决方案


\crosstabview是一个psql命令,而不是一个 postgreSQL 命令。它被 psql 客户端 shell 解释为显示格式指令。您不能将其包含在 SQL 中

请参阅psql 文档中有关“元命令”的部分

要获得类似的输出,您可能需要从命令字符串中删除 \crosstabview,并编写一个循环,将您的查询数据收集成一种格式以供显示。


推荐阅读