从具有分隔符和不同数量元素的列中获取子字符串
Get substring from a column with delimiter and varying number of elements
我在 Postgres 中的 table 中的一列有 varchar
格式的值:'str1/str2'
或 'str1/str2/str3'
其中 str
代表任何字符串。
我想编写一个 select 查询,它将 return 我 str2
。我上网了,但找不到任何合适的功能。
使用split_part()
:
SELECT split_part(col, '/', 2) AS result
FROM tbl;
如,索引从1开始,
显然,分隔符需要明确。它(/
在你的例子中)不能是子字符串的一部分。 (除非它位于您提取的内容的右侧,无论如何都会被忽略。)
相关:
- Split comma separated column data into additional columns
我在 Postgres 中的 table 中的一列有 varchar
格式的值:'str1/str2'
或 'str1/str2/str3'
其中 str
代表任何字符串。
我想编写一个 select 查询,它将 return 我 str2
。我上网了,但找不到任何合适的功能。
使用split_part()
:
SELECT split_part(col, '/', 2) AS result
FROM tbl;
如
显然,分隔符需要明确。它(/
在你的例子中)不能是子字符串的一部分。 (除非它位于您提取的内容的右侧,无论如何都会被忽略。)
相关:
- Split comma separated column data into additional columns