sql >> Databáze >  >> RDS >> Oracle

Oracle SQL Regex nevrací očekávané výsledky

Oracle nepodporuje nezachycující skupiny (?:) . Místo toho budete muset použít snímací skupinu.

Také se mu nelíbí metaznak \s ve stylu perlu shodu uvnitř znakové třídy [] (bude odpovídat znakům \ a s místo mezer). Budete muset použít výraz POSIX [:space:] místo toho.

SQL Fiddle

Nastavení schématu Oracle 11g R2 :

Dotaz 1 :

select *
from (
  select column_value str
  from   table(sys.dbms_debug_vc2coll('123','1234','12345','12 135', '1', '12 3'))
)
where regexp_like(str, '\d([()[:space:]#-]*\d){3,}')

Výsledky :

|    STR |
|--------|
|   1234 |
|  12345 |
| 12 135 |



  1. Otevřete modální dialog přes JavaScript Oracle APEX

  2. Při instalaci pg (0.18.2) došlo k chybě a Bundler nemůže pokračovat

  3. Datový typ pro URL

  4. Zobrazit definici uložené procedury/funkce v MySQL