一般子串就足够截取字符串了。这个函数不能用于某些不定长,但它是正则的,可以被某个字符除。
这是一个网址,最后一部分被截取了。现在拿着——后半部分)
8 a 59 e 88177 ad 5e 70-20170317120301 ab 9E . plist 12 b 8 D5 c 26d 83 a 17 f-20170308173008 D5 DD . plist
此时,需要split_part函数,例如:
-有3个URLs,字符串分为4部分,取最后一部分,最后一个参数为4
1从file_store fs中选择split_part(fs.cdn_url,'-',4)
分隔符数量不一样怎么办?这里应该计算分隔符的数量
-用两个分隔符替换一个分隔符,然后减去长度,得到分隔符的数量
——最后一条是获取内容的最后一部分
1从file_store fs选择split_part(fs.cdn_url,'-',length(replace(fs.cdn_url,'-','- ')) - length(fs.cdn_url) 1)
补充:PostgreSQL字符串截取和替换
初始化数据库
CREATE TABLE public.t1
(
名称文本
)
名字
-
大卫
彼得
任务2016-09-10 10:09336000 '
任务12:03:00 2016年10月10日'
任务2016-12-22 14:10336000 '
将包含“任务”的记录替换为“作业”
更新t1集名称=' job' | | substring (name,3)其中substring (name,position ('task' in name),2)=' task ';
从t1中选择*
名字
-
大卫
彼得
“Job2016-09-10 10:09:00”
求职2016-10-10 12:0唐山百度排名3:00 '
“Job2016-12-22 14:10:00”