Oracle
 sql >> Database >  >> RDS >> Oracle

differenza dei criteri di ricerca tra Mi piace e Contiene() in Oracle

LIKE e CONTAINS sono metodi fondamentalmente diversi per la ricerca.

LIKE è un abbinamento di pattern di stringhe molto semplice:riconosce due caratteri jolly (%) e (_) che corrispondono rispettivamente a zero o più, o esattamente a uno. Nel tuo caso, %a%e% corrisponde a due record nella tabella:cerca zero o più caratteri seguiti da a , seguito da zero o più caratteri seguiti da e , seguito da zero o più caratteri. È anche molto semplicistico nel suo valore di ritorno:restituisce "corrispondente" o "non corrispondente" - nessuna sfumatura di grigio.

CONTAINS è un potente strumento di ricerca che utilizza un indice di contesto, che costruisce una sorta di albero di parole in cui è possibile cercare utilizzando la sintassi di ricerca CONTAINS. Può essere utilizzato per cercare una singola parola, una combinazione di parole e ha una propria ricca sintassi, come gli operatori booleani (AND, NEAR, ACCUM). È anche più potente in quanto invece di restituire un semplice "corrispondente" o "non abbinato", restituisce un "punteggio", che può essere utilizzato per classificare i risultati in ordine di pertinenza; per esempio. CONTAINS(col, 'dog NEAR cat') restituirà un punteggio più alto per un documento in cui queste due parole si trovano entrambe vicine.