我有像’keepme:cutme’或’string-without-separator’这样的字符串,它们应分别成为’keepme’和’string-without-separator’.这可以在Postgresql中完成吗?我试过了:
select substring('first:last' from '.+:')
但是如果在字符串中没有:in,则离开:in并且将不起作用.
解决方法
使用
split_part()
:
SELECT split_part('first:last',':',1) AS first_part
如果分隔符不存在,则返回整个字符串.获得第2或第3部分等很简单
比使用正则表达式匹配的函数快得多.由于我们有一个固定的分隔符,我们不需要正则表达式的魔力.
有关: