首页 > 解决方案 > 如何获取子字符串直到第二次出现分隔符

问题描述

我正在尝试获取子字符串,直到第 2 次出现分隔符,但有些它不起作用。我关注了几个stackoverflow链接:

SQL Server - 在字符串中查找第 n 个出现

这是我数据库中的列:

this+is+my
never+ending+movie
hello

所需输出

this+is
never+ending
hello

我试过了:

charindex('+', col1, (charindex('+', col1, 1))+1)

错误:SQL 错误 [500310] [42883]:Amazon 无效操作:函数 charindex("unknown", character varying, integer) 不存在;

我正在使用 Amzaon Redshift 数据库和 Dbeaver 进行连接。

标签: sqlamazon-redshift

解决方案


您可以使用SPLIT_PART

select split_part(col1,'+',1) || '+' || split_part(col1,'+',2) as string_value
from table_name;

推荐阅读