在PostgreSQL中选择字符串的值

时间:2018-04-02 20:04:47

标签: postgresql postgresql-9.1

我有一个在PostgreSQL表中有字符串值的列。

字符串如下所示:

'192.168.1.1-mike.landline,192.136.152-sam.phone,192.364.1.0-main-phone'

根据字符串,如何在逗号开始之前选择最后一个值。即192.364.1.0-main-phone

我试着查一下但到目前为止没有运气

1 个答案:

答案 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, ','), '.*,', '');