Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment fonctionne contains() en PL-SQL ?

Contient est utilisé sur les champs de texte qui ont un 'Index CONTEXTE', qui indexe un champ de texte pour la recherche. L'utilisation standard est la suivante (en utilisant le score opérateur pour afficher ce qui est renvoyé du contains clause basée sur le 1 dans contains correspondant au 1 dans score ):

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

Pour des données comme celle-ci dans la table table_name

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

Cette requête renverrait

2 A
1 C

Donc contient est similaire à aimer, mais comptera combien de fois une chaîne apparaît dans un champ de texte. Je n'ai pas trouvé de ressource utilisant Contient de la manière dont elle est utilisée dans la requête que vous avez publiée, mais je pense que cela renverrait des lignes où dFullText a au moins une instance de car dedans, ou l'équivalent de ce sql :

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

Voici une autre source.