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

Come funziona contiene() in PL-SQL?

Contiene viene utilizzato sui campi di testo che hanno un 'Indice CONTESTO', che indicizza un campo di testo per la ricerca. L'utilizzo standard è così (usando il score operatore per visualizzare ciò che viene restituito da contains clausola basata su 1 in contains corrispondendo a 1 nel score ):

SELECT score(1), value
FROM table_name
WHERE CONTAINS(textField, 'searchString', 1) > 0;

Per dati come questo nella tabella table_name

value  |  textField
-------|-----------------------------------------------
A      |   'Here is searchString.  searchString again.'
B      |   'Another string'
C      |   'Just one searchString'

Quella query restituirebbe

2 A
1 C

So contiene è simile a come, ma conterà quante volte si verifica una stringa in un campo di testo. Non sono riuscito a trovare una risorsa usando Contiene il modo in cui viene utilizzato nella query che hai pubblicato, ma penso che restituirebbe le righe in cui dFullText ha almeno un'istanza di car in esso, o l'equivalente di questo sql:

Select * from blabla where dFullText like "%car%"

Ecco un'altra fonte.