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

Hvordan virker contains() i PL-SQL?

Indeholder bruges på tekstfelter, der har et 'CONTEXT Index', som indekserer et tekstfelt til søgning. Standardbrugen er sådan (ved at bruge score). operatør for at vise, hvad der returneres fra contains klausul baseret på 1 i contains matcher 1 i score ):

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

For data som denne i tabel table_name

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

Den forespørgsel ville returnere

2 A
1 C
 

Så indeholder svarer til like, men vil tælle hvor mange gange en streng forekommer i et tekstfelt. Jeg kunne ikke finde en ressource ved hjælp af Indeholder den måde, den bruges i den forespørgsel, du sendte, men jeg tror, ​​det ville returnere rækker, hvor dFullText har mindst én forekomst af car i den, eller hvad der svarer til denne sql:

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

Her er en anden kilde.



  1. Installer Mtop (MySQL Database Server Monitoring) i RHEL/CentOS 6/5/4, Fedora 17-12

  2. SQL INSERT INTO... VÆLG eksempler

  3. Top fem softwareapplikationer til at få adgang til MySQL/MariaDB-servere

  4. Sådan klynges Odoo 12 med PostgreSQL-streamingreplikering for høj tilgængelighed