您现在的位置是:首页 > 博客网站制作 > 心得笔记心得笔记

Postgresql 截取字符串的案例

杨青青2022-02-20【心得笔记】人已围观

简介截取字符串一般用substring就够用了。对于有些长度不定的就没法用这个函数了,但还是有规律的,可以某个字符分割。如:(这是一个url,截取最后一部分。现在要取-后面部分内容)8a59e88

截取字符串一般用substring就够用了。对于有些长度不定的就没法用这个函数了,但还是有规律的,可以某个字符分割。

如:(这是一个url,截取最后一部分。现在要取-后面部分内容)

8a59e88177ad5e70-20170317120301AB9E.plist12b8d5c26d83a17f-20170308173008D5DD.plist

这时需要split_part函数,如:

--url一共3个-,字符串被分成4部分,取最后一部分,那最后一个参数就是4

1selectsplit_part(fs.cdn_url,'-',4)fromfile_storefs

如果分割符数量不一样怎么办,这里就要计算分割符的数量了

--将1个分隔符替换为2个分隔符,然后用长度相减得到分隔符数

--最后+1是为了取最后一部分内容

1selectsplit_part(fs.cdn_url,'-',length(replace(fs.cdn_url,'-','--'))-length(fs.cdn_url)+1)fromfile_storefs

补充:PostgreSQL字符串截取替换

初始化数据库

CREATETABLEpublic.t1
(
nametext
)
name
-------
"David"
"Peter"
"任务2016-09-1010:09:00"
"任务2016-10-1012:03:00"
"任务2016-12-2214:10:00"

把包含"任务"的记录替换为"Job"

updatet1setname='Job'||substring(name,3)wheresubstring(name,position('任务'inname),2)='任务';
select*fromt1;
name
-------
"David"
"Peter"
"Job2016-09-1010:09:00"
"Job2016-10-1012:03:00"
"Job2016-12-2214:10:00"

Tags:

很赞哦! ()

文章评论

站点信息

  • 建站时间:2011年01月12日
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计625篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们