给出文本字符串
foo.bar.baz
如何使用postgresql的split_part函数来获取第一个点后的其余部分?
我想从本文中提取下两个文本:
foo
bar.baz
split_part需要部分数量作为参数,所以
split_part('foo.bar.baz', ''.', 2);
返回
bar
但不是bar.baz
如何使用此功能或任何其他可用功能获取此功能?
由于
答案 0 :(得分:2)
我可能会使用子字符串的正则表达形式:
substring('foo.bar.baz' from E'[^.]*\\.(.+)$')
这匹配任意数量的非。字符,然后是一个点,然后是任意数量的字符。因为最后一部分在括号中,所以它被捕获并返回。
答案 1 :(得分:0)
我找到了这个:
SELECT
SUBSTR(tx_nome, 1, STRPOS(tx_nome, ' ')) as first_name
, SUBSTR(tx_nome, (STRPOS(tx_nome, ' ') + 1)) as last_nome
FROM my_table [...]