首页 > 解决方案 > psql SPLIT 的最新部分

问题描述

PSQL Split 是一个从拆分字符串中获取 n 部分的函数:

https://www.eduba.com/postgresql-split_part/

所以,如果我们有:

SELECT SPLIT_PART('X,Y,Z', ',', 1);

我们会得到 X。

我的数据库有一列,其值如下: 'X,Y','X,Y,Z,W'

我需要检索已拆分字符串的最新部分。我是说

对于 'X,Y' --> 'Y'
对于 'X,Y,Z,W'-->'W'

是否有可能做到这一点?

标签: postgresqlsplit

解决方案


您可以将其拆分为一个数组,然后选择最后一个元素:

select (string_to_array(the_column, ','))[cardinality(string_to_array(the_column, ','))]
from the_table

推荐阅读