Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como o contains() no PL-SQL funciona?


Contém é usado em campos de texto que possuem um 'Índice de CONTEXTO', que indexa um campo de texto para pesquisa. O uso padrão é assim (usando o score operador para exibir o que é retornado do contains cláusula baseada no 1 em contains correspondendo ao 1 na score ):
SELECT score(1), value
FROM table_name
WHERE CONTAINS(textField, 'searchString', 1) > 0;

Para dados como este na tabela table_name
value  |  textField
-------|-----------------------------------------------
A      |   'Here is searchString.  searchString again.'
B      |   'Another string'
C      |   'Just one searchString'

Essa consulta retornaria
2 A
1 C

Então contém é semelhante a gostar, mas contará quantas vezes uma string ocorre em um campo de texto. Não consegui encontrar um recurso usando Contains do jeito que é usado na consulta que você postou, mas acho que isso retornaria linhas onde dFullText tem pelo menos uma instância de car nele, ou o equivalente a este sql:
Select * from blabla where dFullText like "%car%"

Aqui está outra fonte.