我有一个在PostgreSQL表中有字符串值的列。
字符串如下所示:
'192.168.1.1-mike.landline,192.136.152-sam.phone,192.364.1.0-main-phone'
根据字符串,如何在逗号开始之前选择最后一个值。即192.364.1.0-main-phone
我试着查一下但到目前为止没有运气
答案 0 :(得分:1)
使用函数regexp_replace().
select regexp_replace('192.168.1.1-mike.landline,192.136.152-sam.phone,192.364.1.0-main-phone', '.*,', '');
regexp_replace
------------------------
192.364.1.0-main-phone
(1 row)
在文档中阅读POSIX Regular Expressions。
更新。您可以使用函数rtrim()
修剪以字符串结尾的逗号,例如:
select rtrim('some_string,', ',')
rtrim
-------------
some_string
(1 row)
所以您的查询可能如下所示:
select regexp_replace(rtrim(the_string, ','), '.*,', '');