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

Oracle Regexp се проваля в SQL

Това е така, защото Oracle поддържа само стандарта за регулярни изрази POSIX, а не синтаксиса на Perl, който използвате в първия си пример.

Oracle Docs: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

Редактиране:Като Алекс Пул посочва, че Oracle действително поддържа синтаксиса на регулярен израз на Perl от Oracle 10gR2. Изпробването на вашия пример на моята локална инсталация на 11gR2 предполага, че синтаксисът ви е грешен, следното работи добре:

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. Как да получите информация от потребителя по време на изпълнение

  2. oracle където в ограничение до 1000 / хибернация

  3. Как да разберете статистиката на файла за проследяване в Oracle. Като процесор, изминало време, заявка... и т.н

  4. Дефинирайте VIEW в Oracle, без да използвате CREATE

  5. Как мога да изброя ВСИЧКИ грантове, които е получил потребител?