截取字符串一般用 substring 就夠用了。對(duì)于有些長(zhǎng)度不定的就沒(méi)法用這個(gè)函數(shù)了袍冷,但還是有規(guī)律的磷醋,可以某個(gè)字符分割。
如:(這是一個(gè)url胡诗,截取最后一部分〉讼撸現(xiàn)在要取 - 后面部分內(nèi)容)
8a59e88177ad5e70-20170317120301AB9E.plist
12b8d5c26d83a17f-20170308173008D5DD.plist
- 這時(shí)需要
split_part
函數(shù),如:
-- url 一共3個(gè) - 煌恢,字符串被分成4部分骇陈,取最后一部分,那最后一個(gè)參數(shù)就是4
select split_part(fs.cdn_url ,'-', 4) from file_store fs
- 如果 分割符 數(shù)量不一樣怎么辦瑰抵,這里就要計(jì)算分割符的數(shù)量了
-- 將 1個(gè)分隔符 替換為 2個(gè)分隔符缩歪,然后用長(zhǎng)度相減得到分隔符數(shù)
-- 最后 +1 是為了取最后一部分內(nèi)容
select split_part(fs.cdn_url ,'-',
length(replace(fs.cdn_url,'-','--')) - length(fs.cdn_url) + 1)
from file_store fs