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

Oracle:改行でテキストフィールドを分割

    改行文字がCHR(10)であるとすると、次のようなものが機能するはずです。

    SELECT TRIM(REGEXP_REPLACE(addr, '(.*)' || CHR(10) || '.*' || CHR(10) || '.*', '\1')) AS STREET_ADDR,
           TRIM(REGEXP_REPLACE(addr, '.*' || CHR(10) || '(.*)' || CHR(10) || '.*', '\1')) AS CITY,
           TRIM(REGEXP_REPLACE(addr, '.*' || CHR(10) || '.*' || CHR(10) || '(.*)', '\1')) AS STATE
          FROM addr_table; 
    

    次のステートメントを使用してaddr_tableにデータが入力されている場合:

    INSERT INTO addr_table(addr)
    VALUES('12345 MY STREET' || CHR(10) || 'NOWHERESVILLE' || CHR(10) || 'ASTATE');
    

    上記のSELECTは戻ります

    STREET_ADDR     CITY            STATE
    12345 MY STREET NOWHERESVILLE   ASTATE
    

    共有してお楽しみください




    1. MySQLで任意にビンに入れる方法は?

    2. SQLServerでCHECK制約を有効にする場合のWITHNOCHECKについて知っておくべきこと

    3. 整数のリストをC#からOracleストアドプロシージャに渡します

    4. zsh:コマンドが見つかりません:mysql