sql >> Database >  >> RDS >> Mysql

Zoek telefoonnummers in de database en negeer speciale tekens

U kunt de REGEXP gebruiken operator (of het is synoniem RLIKE) in een WHILE-clausule. Typ voor de reguliere expressie [^0-9]* tussen elk cijfer van het nummer dat u wilt zoeken. Bijvoorbeeld:

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]*'

Het is verschrikkelijk, maar het zou moeten werken.



  1. mysql gedeeltelijke indexering, omgekeerde indexering

  2. MySQL-volgorde op beste match

  3. Mysql_real_escape_string() Waarschuwing Verwarring

  4. Zijn er valkuilen / dingen die je moet weten bij het overstappen van MyISAM naar InnoDB