sql - 如何获取子字符串直到第二次出现分隔符
问题描述
我正在尝试获取子字符串,直到第 2 次出现分隔符,但有些它不起作用。我关注了几个stackoverflow链接:
这是我数据库中的列:
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 进行连接。
解决方案
您可以使用SPLIT_PART
select split_part(col1,'+',1) || '+' || split_part(col1,'+',2) as string_value
from table_name;
推荐阅读
- java - getText() 总是从动态创建的芯片组件返回空字符串?
- excel - 如何获取一系列单元格中第一个错误的索引?
- r - How to extract series of words separated by commas and start and end words?
- jpeg - 重命名 Jpegs 的大文件夹
- swift - 尝试使用 Active Label 作为标题时崩溃
- javascript - Getting mutual friends MongoDB
- sql - 如何获取字符串中特定字符的所有位置索引?
- c - 无法让 Uno32 以预期的频率运行定时器 1 中断
- ansible - 获取清单主机名列表
- jquery - 如何从jquery中已经打开的窗口打开一个新窗口?