sql >> Database >  >> RDS >> Mysql

Mysql-zoekopdracht Behandel perioden als spaties

In plaats van het vervangen in het veld uit te voeren, zoals andere antwoorden suggereren, kunt u het vervangen op de zoekterm doen . Op deze manier kan MySQL nog steeds een index gebruiken op field1 . Stel dat de punten er altijd zijn in plaats van spaties

SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')

Als je wilt visualiseren zonder stippen, kun je de omgekeerde vervanging doen in de SELECT deel ook:

SELECT REPLACE(field1, '.', ' '), field2 FROM table 
WHERE field1 = REPLACE('user input', ' ', '.')

Of je kunt zelfs overwegen om je DB bij te werken, in plaats van ermee te vechten:

UPDATE table SET field1 = REPLACE(field1, '.', ' ')


  1. Hibernate-configuratiebestand (.cfg.xml) voor het toewijzen van meerdere MySQL-tabellen in dezelfde database?

  2. Aantal rijen met PDO

  3. Vragen over iPhone-emoji en webpagina's

  4. Aan de slag met Oracle LiveSQL