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,部分。另外一个困难是,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与搜索字符串完全匹配。

最新更新