sql >> Databáze >  >> RDS >> Oracle

rozdíl vyhledávacích kritérií mezi Like vs Contains() v oracle

LIKE a CONTAINS jsou zásadně odlišné metody vyhledávání.

LIKE je velmi jednoduchý nástroj pro vyhledávání vzorů řetězců – rozpoznává dva zástupné znaky (%) a (_), které odpovídají nule nebo více, respektive přesně jednomu znaku. Ve vašem případě %a%e% odpovídá dvěma záznamům ve vaší tabulce – hledá nula nebo více znaků následovaných a , za kterým následuje nula nebo více znaků následovaných e , za kterým následuje nula nebo více znaků. Je také velmi zjednodušující, pokud jde o návratovou hodnotu:buď vrací „shodná“ nebo „nepřiřazená“ – žádné odstíny šedi.

CONTAINS je výkonný vyhledávací nástroj, který používá kontextový index, který vytváří jakýsi strom slov, který lze prohledávat pomocí vyhledávací syntaxe CONTAINS. Lze jej použít k hledání jednoho slova, kombinace slov a má bohatou vlastní syntaxi, jako jsou logické operátory (AND, NEAR, ACCUM). Je také výkonnější v tom, že místo vracení jednoduchého „odpovídající“ nebo „neodpovídající“ vrací „skóre“, které lze použít k seřazení výsledků v pořadí podle relevance; např. CONTAINS(sloupec, 'pes NEAR cat') vrátí vyšší skóre pro dokument, kde se tato dvě slova nacházejí blízko sebe.



  1. Přepište Query Optimizer pro vaše spojení T-SQL pomocí FORCEPLAN

  2. Nejbližší zápas, část 2

  3. Jak SOUNDS LIKE funguje v MariaDB

  4. Oracle Joins - Srovnání mezi konvenční syntaxí VS ANSI syntaxí