sql >> Database teknologi >  >> RDS >> Mysql

Søg efter telefonnumre i databasen og ignorer specialtegn

Du kan bruge REGEXP operator (eller det er synonymet RLIKE) i en WHILE-sætning. Indsæt [^0-9]* for det regulære udtryk mellem hvert ciffer i det nummer, du vil finde. For eksempel:

SELECT * FROM customers WHERE
  phoneNumber RLIKE
  '[^0-9]*0[^0-9]*2[^0-9]*1[^0-9]*3[^0-9]*3[^0-9]*8[^0-9]*3[^0-9]*0[^0-9]*3[^0-9]*0[^0-9]*'

Det er forfærdeligt, men det burde virke.



  1. Kan ikke oprette forbindelse til ekstern mysql-server ved hjælp af unixodbc, libmyodbc

  2. Opret PostgreSQL-database på farten ved hjælp af Hibernate, selvom DB'en ikke eksisterer

  3. Er et kald til PDOStatement::closeCursor() nødvendigt, hvis sætningsobjektet er frakoblet?

  4. Hvordan tæller man rækker, der opfylder en betingelse i Redshift/Postgres?