如何解决正则表达式|在字符串末尾添加3个字符
我有多个使用string_agg函数的查询,并且我们正在迁移到较新的postgres版本,并且此特定版本现在需要一个定界符,我们只需要将此字符串,''添加到每一行使用string_agg的地方。
这是我们目前拥有的一个例子:
string_agg('|'||mu_to.unit||(pa.measure*(mu.base_multiplier/mu_to.base_multiplier))::numeric||CAST(' ' AS varchar)||mu_to.unit_display)
它需要像这样结束:
string_agg('|'||mu_to.unit||(pa.measure*(mu.base_multiplier/mu_to.base_multiplier))::numeric||CAST(' ' AS varchar)||mu_to.unit_display,'')
然后我们有这样的东西:
string_agg('#attribute_'||attribute_id::varchar||':'||attribute) as attr
它需要像这样结束:
string_agg('#attribute_'||attribute_id::varchar||':'||attribute,'') as attr
有67个报告,其中这些行随机出现,但并不总是相同的字段/表名,因此,我正在寻找一种方法来一次性更改所有内容并批量添加定界符,以免手动编辑所有67个。 就像找到 string_agg(寻找最后一个括号并添加,''
我想这将是某种搜索替换,但不是100%确定如何实现。
谢谢
解决方法
您现在正在使用什么?从未有PostgreSQL的发行版,其中string_agg的第二个参数是可选的。 (在9.0的开发周期中有一段时间是可选的,但在发布前已更改)。您是否真的使用了10年的PostgreSQL开发版本?
也许您有一个名为string_agg的用户定义的聚合,它带有一个参数?但是在那种情况下,为什么不重新创建升级方法呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。