据我所知,Vertica 8.1.x和更高版本都支持Vertica 8.1.x文档 LISTAGG;但是,当我尝试使用该函数时,我会看到以下内容:
VerticaVJDBC错误:函数LISTAGG(varchar)不存在,或者拒绝LISTAGG(varchar)的权限
执行时:
SELECT LISTAGG(myColumn) FROM myTable;我在另一个堆栈溢出帖子中看到LISTAGG是在v9.1 (见这里)中引入的。我目前使用的是版本9.0.1-19。
任何人能确认或提供为什么LISTAGG可能不起作用的洞察力吗?
发布于 2019-07-01 20:29:02
我可以确认它是在版本9.1.1-4中添加的。在v9.1.4新特性页中看到它
我有两个Vertica DBs,第一个版本是9.0.1-5,第二个版本是v9.2.0-7。LISTAGG()在2号提供,但在1号没有:
dbadmin=> select version();
version
------------------------------------
Vertica Analytic Database v9.0.1-5
dbadmin=> SELECT LISTAGG(myColumn) FROM myTable;
ERROR 3457: Function LISTAGG(varchar) does not exist, or permission is denied for LISTAGG(varchar)
HINT: No function matches the given name and argument types. You may need to add explicit type casts version
------------------------------------
Vertica Analytic Database v9.2.0-7
dbadmin=> SELECT LISTAGG(myColumn) FROM myTable;
LISTAGG
---------
aaa,abcLISTAGG()是/opt/vertica/packages/VFunctions包的一部分,它是v9.1.1及更高版本的v_func模式中的唯一函数。
一个很好的选择是GROUP_CONCAT(),它是套餐 UDx的一部分。有关安装说明和用法,请参阅自述文件。
https://stackoverflow.com/questions/56841313
复制相似问题