Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:Pisahkan bidang teks pada baris baru

Dengan asumsi bahwa karakter linebreak Anda adalah CHR(10), sesuatu seperti berikut ini akan berfungsi:

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; 

Jika addr_table diisi menggunakan pernyataan berikut:

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

SELECT di atas akan kembali

STREET_ADDR     CITY            STATE
12345 MY STREET NOWHERESVILLE   ASTATE

Bagikan dan nikmati




  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-28040:Tidak ada protokol otentikasi yang cocok

  2. COALESCE() Fungsi di Oracle

  3. Bagaimana Anda mengatur server tertaut ke database Oracle pada SQL 2000/2005?

  4. Oracle ODP.Net Dengan Entity Framework 6 - Penyedia yang kompatibel dengan database kerangka kerja entitas tidak dapat ditemukan

  5. Kapan Anda harus menggunakan prosedur tersimpan java dengan database Oracle ... apa kekurangannya?