Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak działa zawiera() w PL-SQL?

Zawiera jest używany w polach tekstowych, które mają „Indeks KONTEKSTÓW”, który indeksuje pole tekstowe do wyszukiwania. Standardowe użycie jest takie (przy użyciu score operator do wyświetlania tego, co jest zwracane z contains klauzula oparta na 1 w contains dopasowanie 1 w score ):

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

Dla danych takich jak ta w tabeli table_name

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

To zapytanie zwróci

2 A
1 C

Tak zawiera jest podobny do lubianego, ale zlicza, ile razy łańcuch występuje w polu tekstowym. Nie mogłem znaleźć zasobu za pomocą Zawiera sposób, w jaki jest używany w przesłanym zapytaniu, ale myślę, że zwróci to wiersze, w których dFullText ma co najmniej jedno wystąpienie car w nim lub odpowiednik tego sql:

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

Oto kolejne źródło.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wywołaj funkcję Oracle z Javy

  2. Ostatnie słowo w zdaniu:W SQL (możliwe wyrażenia regularne?)

  3. Rozwiązanie problemu Drop Column Bug w Oracle 18c i 19c

  4. Funkcja lub procedura dla klauzuli IN

  5. Wymuś upuszczenie globalnej tabeli temp. Oracle