sql >> Database >  >> RDS >> Oracle

Zoek naar vergelijkbare woorden met behulp van een index

Misschien UTL_MATCH kan helpen.

Maar je kunt ook een functie-gebaseerde index maken op, laten we zeggen, zoiets als dit:

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

En probeer zo te matchen:

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

Hier is een sqlfiddle-demo Het is niet compleet, maar kan een begin zijn




  1. Wordt UTC_TIMESTAMP() beïnvloed door zomertijd?

  2. Postgres:toegang verlenen aan een rol/gebruiker voor toekomstige tabellen die zijn gemaakt door een andere rol/gebruiker

  3. MySql 5.7 ORDER BY-clausule staat niet in GROUP BY-clausule en bevat niet-geaggregeerde kolom

  4. MySQL - Is het mogelijk om alle sub-items in een hiërarchie te krijgen?