Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle:Tách trường văn bản trên dòng mới

Giả sử rằng ký tự ngắt dòng của bạn là CHR (10), một cái gì đó như sau sẽ hoạt động:

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; 

Nếu addr_table được điền bằng câu lệnh sau:

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

SELECT ở trên sẽ trả về

STREET_ADDR     CITY            STATE
12345 MY STREET NOWHERESVILLE   ASTATE

Chia sẻ và tận hưởng




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nối một chuỗi vào mệnh đề where trong SQL báo cáo tương tác APEX

  2. Có thể tạo các kiểu đối tượng Cơ sở dữ liệu Oracle bên trong PL / SQL không?

  3. Truy vấn Oracle với mỗi phút một ngày

  4. ORA-01002:tìm nạp ngoài trình tự

  5. OracleBulkCopy Memory Leak (OutOfMemory Exception)