我需要构建一个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
与搜索字符串完全匹配。