sql - 如何在 PostgreSQL 10 中更改文件名
问题描述
如何在 PostgreSQL 10 中更改文件名
filename |
:----------------------------- |
abc.zip;efg.zip |
就像这里
filename |
:------------------------------ |
filename(1).zip;filename(2).zip |
解决方案
嗯。. . 您应该修复您的数据模型,这样您就不会将列表存储在字符串中。但是您可以通过拆分文件名然后重构新名称来做您想做的事情:
select *
from (values ('abc.zip;efg.zip')) x(filenames) cross join lateral
(select string_agg('filename(' || n || ').' || split_part(filename, '.', 2), ';') as newnames
from unnest(string_to_array(x.filenames, ';')) with ordinality s(filename, n)
) s;
这是一个 db<>fiddle。
推荐阅读
- amazon-web-services - 连接被拒绝错误 - AWS EC2 ubuntu
- javascript - 为什么 this.stop() 会更改我在 Adobe Animate 中使用 setChildIndex() 设置的 z-index?
- json - 如何对json文件进行排序和比较?
- openstack-swift - PHP SDK Opencloud/Openstack - 如何在标头中添加 X-Storage-Policy?
- python - 为什么 Spyder 使用基础环境中的库而不是虚拟环境中的库
- flutter - 错误:无法在 pubspec.yaml 中找到资产条目:“fonts/Ranga-Regular.ttf”
- python - 如何获取使用 tomcat AccessLogValve 记录的 python 请求 cookie?
- angular - 模板“带有 Angular 的 ASP.NET Core”在 VS Codespace 中无法开箱即用
- c++ - 如何在 C++17 中使用 CERN Root?
- r - 有没有办法在没有赋值的情况下在 R 中引用返回的数据框的变量?