sql >> Database >  >> RDS >> Oracle

Oracle:tekstveld splitsen op nieuwe regel

Ervan uitgaande dat uw linebreak-teken CHR(10) is, zou zoiets als het volgende moeten werken:

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; 

Als addr_table is ingevuld met de volgende instructie:

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

de bovenstaande SELECT keert terug

STREET_ADDR     CITY            STATE
12345 MY STREET NOWHERESVILLE   ASTATE

Deel en geniet




  1. Hebreeuwse waarden invoegen in SQL Server 2008

  2. Toegang geweigerd voor gebruiker 'root'@'localhost' (met wachtwoord:NEE)?Kan php/Mysql niet verifiëren?

  3. verwijder dubbele velden in php-mysql resultaatrijen

  4. waarom een ​​associatieve array geïndexeerd door VARCHAR2 niet meer dan 9 elementen opslaat?