hana sql查询或替换sql hana中的charIndex

时间:2018-11-19 10:53:09

标签: sql sap hana comma

我需要构建一个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 

1 个答案:

答案 0 :(得分:0)

我了解您的问题,因此您希望删除输入字符串的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字面上匹配搜索字符串。