Oracle
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при опит за извличане на текст за грешка ORA-01804

  2. Заявката за вмъкване на Oracle в съхранена процедура не работи, когато се извиква от задния код

  3. Oracle, еквивалентен на SQL Server DATEPART

  4. Команда за търсене за търсене на колона/поле в SQLPLUS за Oracle 10.2

  5. Как да проверите дали Oracle Client е инсталиран или не като предпоставка за инсталиране на компонент