sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo funciona contains() en PL-SQL?

Contiene se utiliza en campos de texto que tienen un 'Índice de CONTEXTO', que indexa un campo de texto para la búsqueda. El uso estándar es así (usando el score operador para mostrar lo que se devuelve del contains cláusula basada en el 1 en contains coincidiendo con el 1 en score ):

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

Para datos como este en la tabla table_name

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

Esa consulta devolvería

2 A
1 C

Así que contiene es similar a gustar, pero contará cuántas veces aparece una cadena en un campo de texto. No pude encontrar un recurso usando Contiene la forma en que se usa en la consulta que publicaste, pero creo que eso devolvería filas donde dFullText tiene al menos una instancia de car en él, o el equivalente de este sql:

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

Aquí hay otra fuente.