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

Oracle SQL mendapatkan elemen ke-n regexp

Jika nilai Anda yang dibatasi selalu alfanumerik di antara koma, Anda dapat mencoba:

SELECT REGEXP_SUBSTR( <delimied_string>, '[[:alnum:]]{0,},', 1, 7 )
  FROM dual;

Untuk mendapatkan nilai ketujuh (termasuk tanda koma). Jika kosong, Anda hanya mendapatkan tanda koma (yang dapat Anda hapus dengan mudah).

Jelas, jika Anda menginginkan nilai selain yang ketujuh, ubah nilai parameter keempat ke kemunculan ke-n mana pun yang Anda inginkan, mis.

SELECT REGEXP_SUBSTR( <delimied_string>, '[[:alnum:]]{0,},', 1, <nth occurance> )
  FROM dual;

EDIT:Karena saya suka REGEX, inilah solusi yang juga menghilangkan tanda koma

SELECT REPLACE(
          REGEXP_SUBSTR(<delimied_string>, '[[:alnum:]]{0,},', 1, <nth>), 
          ','
       )
  FROM dual;

semoga membantu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cx_Oracle:distutils.errors.DistutilsSetupError:tidak dapat menemukan Oracle termasuk file

  2. Kesalahan ORA-0105 saat menghubungkan dengan ODP.Net

  3. Jalankan Oracle Forms sebagai standalone tanpa browser

  4. Layanan Database di AWS dan Oracle Cloud Platform

  5. Database Oracle TNS Panjang nilai untuk 'sumber data' kunci melebihi batas '128'