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

Oracle:zastępowanie znaków nienumerycznych w ciągu znaków

Możesz użyć REGEXP_REPLACE od Oracle 10:

SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL

Ten przykład zwraca 349471234562013 .

Alternatywne składnie obejmują:

  • Klasy znaków POSIX:

    '[^[:digit:]]+'
    
  • Rozszerzenia zainspirowane Perlem (od Oracle 11):

    '\D+'
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz procedurę składowaną z tabelą z innego schematu rzuca PLS-00201

  2. Brakujące wiersze podczas odpytywania tabeli za pomocą Doctrine (Symfony2)

  3. PRVG-2027 Właściciel pliku jest niespójny między węzłami

  4. HQL ma wartość null And !=null w kolumnie Oracle

  5. Ograniczenie UNIQUE a sprawdzanie przed INSERT