sql >> Database teknologi >  >> RDS >> Oracle

Oracle:Udskiftning af ikke-numeriske tegn i en streng

Du kan bruge REGEXP_REPLACE siden Oracle 10:

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

Dette eksempel returnerer 349471234562013 .

Alternative syntakser omfatter:

  • POSIX-tegnklasser:

    '[^[:digit:]]+'
    
  • Perl-påvirkede udvidelser (siden Oracle 11):

    '\D+'
    


  1. Spørgsmål om bedste praksis til MySQL:Bestil efter id eller dato?

  2. Sådan sikrer du MySQL/MariaDB-servere

  3. SQL-forespørgsel, der involverer grupper efter og joins

  4. bevilge til flere db ved hjælp af en kommando