postgresql - 列索引超出范围
问题描述
select * from crosstab
($$ select ord_no,opr_no,prod_qty from sg_tw.at_wrkord_dtl
where date(modi_dt)>=(:start_date)
and date(modi_dt)<= (:end_date) order by 1,2 $$, $$ values 'ord_no', '10','20','30','40','50','60','70','110' $$) as x
(ord_no bigint, "10" int, "20" int, "30" int, "40" int, "50" int, "60" int, "70" int ,"110" int)
错误:org.postgresql.util.PSQLException:列索引超出范围:1,列数:0。
当我在我的 postgressql 中执行这个查询时,我遇到了这个问题。
请帮我解决这个问题。
我是IT新手...
解决方案
您必须使用 JDBC 驱动程序,因为那是该错误消息的来源。
问题是您将参数编写为美元引用的字符串文字的一部分。字符串文字中的参数不会被替换。
推荐阅读
- vue.js - 在 html2-pdf 中使用 VueJS 变量
- python - 在字符串的特定位置添加字符
- android - 在 View Pager 2 上设置当前项目
- javascript - laravel 中 Voyager 管理面板路由和 Vue js 路由器的问题
- javascript - ReactJS 尝试使用 API 钩子 useEffect 但得到:期望赋值或函数调用而不是看到表达式 no-used-expressions
- react-native - React Navigation 5 将参数传递给 tabNavigation / Tab Navigator
- javascript - NodeJS 自动完成阴影。如何实施?
- r - R使用dplyr在X列之后将数据框拆分为数据框和矩阵
- javascript - Tabulator JS groupHeaderDownload 如何在Download中创建单元格
- python - 更新excel工作表时权限被拒绝