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

Как да получите част от низа, който съответства на регулярен израз в Oracle SQL

Един от начините да го направите е с REGEXP_REPLACE. Трябва да дефинирате целия низ като модел на регулярен израз и след това да използвате само елемента, който искате като replace string . В този пример ColorID е третият шаблон в целия низ

SELECT REGEXP_REPLACE('product=1627;color=45;size=7'
                         , '(.*)(color\=)([^;]+);?(.*)'
                         , '\3') "colorID"  
FROM DUAL;  

Възможно е да има по-малко тромави решения за регулярен израз, но това определено работи. Ето SQL Fiddle.



  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 чрез Oracle.ManagedDataAccess

  2. oracle заявка - ORA-01652:не може да се разшири временен сегмент, но само в някои версии на sql*plus

  3. Изпратете .txt файл като прикачен файл чрез Oracle Stored Procedure

  4. Как да използвам тип таблица в оператор SELECT FROM?

  5. ORA-00904 невалиден идентификатор на псевдоним за декодиране