oracle listagg 拼接的字符串给多少长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle listagg 拼接的字符串给多少长度相关的知识,希望对你有一定的参考价值。

参考技术A listagg 是字符串连接的结果过长。
没有办法,这个函数的返回值是varchar2类型,你改不了。除非写存储过程,在pl、sql中,字符串长度可以达到32768,然后用一个clob来存。
超出的部分不截除掉倒是个办法,不过语句会复杂得多,性能也会下降。

oracle 将表中所有字段拼接成一个字符串给另一个表的一个字段

oracle 将表中所有字段拼接成一个字符串给另一个表的一个字段,假如表a的所有字段,给表b的X字段
表是多行数据,不是单行

参考技术A 拼接字段 select 字段1||字段2||字段3... from a;

update b set X字段=(select 字段1||字段2||字段3... from a);本回答被提问者采纳
参考技术B 一楼只说对了一半,正确的应该是这样子的:
update b set X字段=(select 字段1||字段2||字段3... from a where a.主键列=b.主键列);

必须要关联更新的,否则1对多的关系怎么能更新呢?
参考技术C update 表1 set col1=
(select col1||col2||col3 from 表2 where 查询条件 )
where 查询条件

其中||为oracle 中的字符串连接符
参考技术D a b 两张表要关联吧,不然更新时会整张表更新为同一数据,因为update的时候没有条件,oracle下你用merge into吧 第5个回答  2009-10-10 我知道的方法是写个function,返回字符串=a的所有值拼起来,然后update b=fun() where...

以上是关于oracle listagg 拼接的字符串给多少长度的主要内容,如果未能解决你的问题,请参考以下文章

Oracle:listagg

Oracle:listagg

oracle同一列字符串拼接怎么做?

oracle 字符串拼接慢不慢

oracle把查询出的字段拼接在一起

Oracle函数之LISTAGG