【问题标题】:hana sql query or replacement of charIndex in sql hanahana sql 查询或替换 sql hana 中的 charIndex
【发布时间】:2018-11-19 10:53:09
【问题描述】:

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

【问题讨论】:

    标签: sql sap hana comma


    【解决方案1】:

    我理解您的问题,因此您想删除输入字符串的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 与搜索字符串匹配。

    【讨论】:

    • 嗨 Lars 感谢您的回复,我们想强调 2 点 1) 我们知道我们想要的所需文本的索引 1,2,3。 (如果索引从 0 开始) 2) rowtext 可以是任何内容,并且对于每一行,这可以不同。基本上我们无法在 hana sql 查询中找到 chatAt 的替代品
    • 我还是不明白你想要达到什么目的。您可能需要更清楚地更新问题。像charAt 这样的事情可以用substring 来完成。
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多