Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да разделите низ, разделен със запетая в Oracle

въз основа на https://blogs.oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement :

Първо, ще формираме заявка, която разделя този низ, разделен със запетая, и дава отделните низове като редове.

SQL> select regexp_substr('20.4,12.5,3.5,0.2,0.2','[^,]+', 1, level) from dual
     connect by regexp_substr('20.4,12.5,3.5,0.2,0.2', '[^,]+', 1, level) is not null;


REGEXP_SUBSTR('20.4,1
---------------------
20.4                 
12.5                 
3.5                  
0.2                  
0.2  

Горната заявка итерира през разделения със запетая низ, търси запетаята (,) и след това разделя низа, като третира запетаята като разделител. Връща низа като ред всеки път, когато удари разделител.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам правилно Oracle ORDER BY и ROWNUM?

  2. Инсталиране на RAC за база данни с файлове с данни

  3. Как да се справяме с колона на таблица, наречена с резервирана ключова дума за SQL?

  4. Генерирайте тестови данни с помощта на Oracle PL/SQL разработчик

  5. Обработка на ExecuteScalar(), когато не се връщат резултати