sql - hana sql 查询或替换 sql hana 中的 charIndex
问题描述
我需要构建一个 SELECT sql hana 查询,其中一列只有一条记录,包含以下以逗号分隔的值。
Input :
rowtext,requiredText1,requiredText2,requiredText3,rowtext,rowtext,rowtext,rowtext
Output :
requiredText1,requiredText2,requiredText3
without using store procedure.
Table : TestTable
column1 column2
pid1 rowtext,requiredText1,requiredText2,requiredText3,rowtext,rowtext,rowtext,rowtext
pid2 rowtext,requiredText1,requiredText2,requiredText3,rowtext,rowtext
pid3 rowtext,requiredText1,requiredText2,requiredText3,rowtext
pid4 rowtext,requiredText1,requiredText2,requiredText3,rowtext,rowtext,rowtext
解决方案
我理解你的问题,所以你想删除输入字符串的rowtext,
部分。另一个困难是在 that 之前和之后的悬空逗号rowtext
也应该被删除。
一种方法是使用与此类似的正则表达式:
with src as (select 'rowtext,requiredText1,requiredText2,requiredText3,rowtext,rowtext,rowtext,rowtext' as INPUT
from dummy)
select
replace_regexpr ( ',?rowtext,?' in INPUT WITH '') as output
from src;
OUTPUT
requiredText1,requiredText2,requiredText3
搜索模式中的,?
匹配零个或恰好一个逗号,并且rowtext
字面匹配搜索字符串。
推荐阅读
- javascript - WebSocket 连接无效帧头
- macos - 如何在本地笔记本电脑上拥有源代码和 IDE,并在 docker 容器内的另一台机器上运行它?
- python - 无法捕获错误,而是打印到控制台
- php - PHP 缓冲区读取
- visual-foxpro - Foxpro Visual 9 中的字符串拆分
- r - 根据字符串模式匹配拆分数据框列
- php - shopware 5:无法加载模板片段
- python - 如何检测我的角色是否与敌人相撞并在命中 3 次后关闭游戏
- angular - 如何将 [checked] 与 precheck 和 ngModel 结合起来同时与函数绑定?
- python - 在 GraphQL 中过滤嵌入式文档列表