我有一个列,它在我的PostgreSQL表中有字符串值。
该字符串如下所示:
'192.168.1.1-mike.landline,192.136.152-sam.phone,192.364.1.0-main-phone'基于字符串,如何在逗号开始之前选择最后的最大值。即192.364.1.0-主-电话
我试着查了一下,但到目前为止还没找到。
发布于 2018-04-02 20:11:30
使用函数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正则表达式的内容。
更新。您可以使用函数rtrim()修剪以字符串结尾的逗号,例如:
select rtrim('some_string,', ',')
rtrim
-------------
some_string
(1 row)所以您的查询可能如下所示:
select regexp_replace(rtrim(the_string, ','), '.*,', '');https://stackoverflow.com/questions/49618044
复制相似问题