sql >> Databáze >  >> RDS >> Oracle

Jak funguje include() v PL-SQL?

Obsahuje se používá u textových polí, která mají 'CONTEXT Index', který indexuje textové pole pro vyhledávání. Standardní použití je takto (pomocí score operátor pro zobrazení toho, co je vráceno z contains klauzule založená na 1 v contains odpovídající 1 v score ):

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

Pro data, jako je tato, v tabulce table_name

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

Tento dotaz vrátí

2 A
1 C

Takže obsahuje je podobné jako lajk, ale bude počítat, kolikrát se řetězec vyskytuje v textovém poli. Nemohl jsem najít zdroj pomocí Obsahuje způsob, jakým se používá v dotazu, který jste odeslali, ale myslím, že by to vrátilo řádky, kde je dFullText má alespoň jednu instanci car v něm nebo ekvivalent tohoto sql:

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

Zde je další zdroj.



  1. Pokud parametr není zadán, ignorujte parametr časového období v klauzuli where

  2. Změnit typ pole varchar na celé číslo:nelze automaticky přetypovat na typ celé číslo

  3. PHP CRUD Vytvářejte, upravujte, aktualizujte a mažte příspěvky pomocí databáze MySQL

  4. předat celočíselné pole do procedury Oracle pomocí c#