Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle Fuzzy Search ze spacjami

Najpierw sprawdź dokumentację Rozmyty operator

Pamiętaj, że termin zazwyczaj nie zawiera pustego miejsca i będziesz musiał podzielić swoje wyszukiwanie według dokładnych terminów.

Dodatkowo zauważ, że fuzzy aby można było aktywować, termin musi mieć co najmniej 3 znaki . Więc twój przykład z PO nie zadziała.

To, co możesz zrobić dla swojej konfiguracji, to zdefiniować dodatkowy fuzzy wyszukaj każdą część rozmytego ciągu i połącz je z near operator takie jak poniżej

 contains(po_number,'near (( fuzzy(word1,,,weight),fuzzy(word2,,,weight) ), 2, TRUE)',1) > 0

near wymusza tutaj, że oba dopasowania muszą przylegać do siebie (span =2) i uporządkowane (TRUE ).

Obsługa znaków specjalnych zależy od definicji twojego whitespace i printjoins w Twoich preferencjach .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ciężka zamiana na wyroczni 12.1.0.2

  2. Który pobrać:JDK czy JRE?

  3. Oracle — literał nie pasuje do błędu ciągu formatu

  4. JSON_OBJECTAGG() Funkcja w Oracle

  5. Jak rozwiązać błąd ORA-01427 (podzapytanie jednowierszowe zwraca więcej niż jeden wiersz)?