Oracle
 sql >> база данни >  >> RDS >> Oracle

Разлика в критериите за търсене между Like срещу Contains() в oracle

LIKE и CONTAINS са коренно различни методи за търсене.

LIKE е много прост инструмент за съвпадение на низови шаблони - той разпознава два заместващи знака (%) и (_), които съответстват съответно на нула или повече или точно един символ. Във вашия случай %a%e% съвпада с два записа във вашата таблица - търси нула или повече знака, последвани от a , последвано от нула или повече знака, последвано от e , последвано от нула или повече знака. Освен това е много опростен във връщаната си стойност:връща „съвпаднало“ или „не съвпадащо“ – няма нюанси на сивото.

CONTAINS е мощен инструмент за търсене, който използва контекстен индекс, който изгражда вид дърво на думи, което може да се търси с помощта на синтаксиса за търсене CONTAINS. Може да се използва за търсене на една дума, комбинация от думи и има богат собствен синтаксис, като булеви оператори (AND, NEAR, ACCUM). Освен това е по-мощен в това, че вместо да връща просто "съвпаднати" или "несъответстващи", връща "резултат", който може да се използва за класиране на резултатите по ред на уместност; напр. CONTAINS(col, 'dog NEAR cat') ще върне по-висок резултат за документ, където тези две думи се намират близо една до друга.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да запишете BLOB като файл в PL/SQL?

  2. Oracle – Какъв файл с имена на TNS използвам?

  3. извличане на име на таблица от колона за от клауза

  4. ORACLE 11g не е чувствителен към регистъра по подразбиране

  5. Инсталиране на Oracle Instant Client