【问题标题】:How add double quote and comma in a string after each break line Oracle plsqlOracle plsql 如何在每个换行后的字符串中添加双引号和逗号
【发布时间】:2023-01-23 15:49:31
【问题描述】:

我在 pl sql 块中工作以迭代字符串行,我需要在每一行中添加双引号和类似的逗号:

我的块是这样的:

DECLARE
v_fulltext varchar2(4000):= '                                                          Total   Total   Total Unbalanced Unbalanced       Flex    Nonflex
Journal Entry Source Name    Group ID           Status    Lines Batches Headers    Batches    Headers     Errors     Errors
---------------------------- ------------------ ------- ------- ------- ------- ---------- ---------- ---------- ----------
Manual                                    90005 Error        10       1       1          3          1          0          0
---------------------------- ------------------ ------- ------- ------- ------- ---------- ---------- ---------- ----------
       *** TOTALS ***                                         1       1       1          1          1          0          0';
v_full_text_2 varchar2(4000);
v_full_text_quote varchar2(4000);
counter number := 0;
BEGIN
FOR sumaryline IN(SELECT
            regexp_substr(v_fulltext, '[^('
                                || CHR(13)
                                || CHR(10)
                                || ')]+', 1, level) sumaryline
    FROM
        dual
    CONNECT BY
        regexp_substr(v_fulltext, '[^('
                                || CHR(13)
                                || CHR(10)
                                || ')]+', 1, level) IS NOT NULL)
LOOP
counter := counter +1;
v_full_text_quote := v_full_text_quote||'"'||sumaryline.sumaryline||'"'||chr(10);
  
END LOOP;
 dbms_output.put_line(v_full_text_quote);
END;

这个块的输出是:

我的问题是我不知道如何在每行末尾的双引号后添加逗号,我尝试添加:

v_full_text_2 := LTRIM (v_full_text_2 || ',' || v_full_text_quote, ',');

但这不起作用。 亲切的问候。 塞萨尔。

【问题讨论】:

    标签: oracle stored-procedures plsql oracle-sqldeveloper plsqldeveloper


    【解决方案1】:

    不是在这里吗?

    v_full_text_quote := v_full_text_quote||'"'||sumaryline.sumaryline||'",'||chr(10);
                                                                          ^
                                                                          |
                                                                         here
    

    最后,您只需要删除最后一个逗号(因为您不需要它):

    END LOOP;
    v_full_text_quote := rtrim(v_full_text_quote, ',');
    

    【讨论】:

      猜你喜欢
      • 2020-08-30
      • 2018-05-17
      • 1970-01-01
      • 2022-01-13
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 2016-06-08
      相关资源
      最近更新 更多