Oracle
 sql >> Base de données >  >> RDS >> Oracle

Rechercher des mots similaires à l'aide d'un index

Peut-être UTL_MATCH peut aider.

Mais vous pouvez également créer un index basé sur une fonction sur, disons, quelque chose comme ceci :

regexp_replace(your_column, '[^0-9a-zA-Z]+', ' ')

Et essayez de faire correspondre comme ceci :

...
WHERE regexp_replace(your_column, '[^0-9a-zA-Z]+', ' ') = 
      regexp_replace('maria (cool)' , '[^0-9a-zA-Z]+', ' ')

Voici une démo sqlfiddle Ce n'est pas complet, mais cela peut être un début