sql >> データベース >  >> RDS >> Oracle

文字列を改行で分割し、PLsqlOracleに配列を追加します

    トムに挨拶したのに、なぜトムの名前をもう一度尋ねるのですか?

    とにかく..はい。 CHR(10)で区切られた文字列に対して標準の文字列分割操作を使用できます。 -Oracleの改行文字。次に、CASTを利用します およびCOLLECT それを配列に変換する関数。ここでは、Oracleの組み込みコレクションsys.OdciVarchar2Listを使用しました。 。 PL / SQLブロックでは、文字列要素を保持できる適切なコレクション型に一括収集できます。

    SQLフィドル

    WITH t (s)
    AS (
        SELECT 'Hello Tom
    Where are you
    What''s your name'
        FROM DUAL
        )
    SELECT CAST ( COLLECT ( REGEXP_SUBSTR(s, '[^' || CHR(10)|| ']+', 1, LEVEL) )
                           AS sys.OdciVarchar2List )  as collection
    FROM t CONNECT BY LEVEL <= REGEXP_COUNT(s, '[^' || CHR(10)|| ']+')
    

    結果

    |                               COLLECTION |
    |------------------------------------------|
    | Hello Tom,Where are you,What's your name |
    


    1. Datagridviewセル値変更更新データベース

    2. AWSElasticBeanstalkでのmysqlclientインストールエラー

    3. MySQLクエリをCSVに変換するPHPコード

    4. postgresqlのビットマップインデックスを理解する