我需要构建一个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
答案 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
字面上匹配搜索字符串。