Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle Regexp nie działa w SQL

Dzieje się tak, ponieważ Oracle obsługuje tylko standard wyrażeń regularnych POSIX, a nie składnię Perla, której używasz w pierwszym przykładzie.

Dokumenty Oracle:http://docs.oracle. com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm#CHDJGBGG POSIX Regex Standard:http://pubs.opengroup.org/onlinepubs/007908799 /xbd/re.html

Edycja:jako Alex Poole wskazuje, że Oracle faktycznie obsługuje składnię Perl regex od czasu Oracle 10gR2. Wypróbowanie twojego przykładu na mojej lokalnej instalacji 11gR2 sugeruje, że twoja składnia jest nieprawidłowa, następujące działania działają poprawnie:

SELECT 1 FROM dual WHERE regexp_like('040', '^\d{3}$');



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja NUMTOYMINTERVAL() w Oracle

  2. różnica kryteriów wyszukiwania między Like vs Contains() w Oracle

  3. Tabela przestawna z wartościami niekardynalnymi

  4. Oracle BI Publisher — Jak sformatować liczby jako tekst, aby zera wiodące nie zniknęły?

  5. Przekazywanie operatorów SQL do zapytania przez parametr iReport