Oracle
 sql >> база данни >  >> RDS >> Oracle

Как работи contains() в PL-SQL?

Contains се използва в текстови полета, които имат 'CONTEXT Index', който индексира текстово поле за търсене. Стандартното използване е така (с помощта на score оператор за показване на това, което се връща от contains клауза въз основа на 1 в contains съответстващ на 1 в score ):

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

За данни като тази в таблица table_name

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

Тази заявка ще върне

2 A
1 C

Така че contains е подобен на like, но ще отчита колко пъти даден низ се среща в текстово поле. Не можах да намеря ресурс, използвайки Съдържа начина, по който се използва в заявката, която сте публикували, но мисля, че това ще върне редове, където dFullText има поне един екземпляр на car в него или еквивалента на този sql:

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

Ето още един източник.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL/SQL настройка на производителността за LIKE '%...%' заместващи заявки

  2. Как да получите достъп до базата данни на Oracle през мрежа?

  3. Грешка при свързване с локален хост на Java Oracle (ORA-12505)

  4. Какво означава <> в Oracle

  5. Как да модифицирате типа данни в Oracle със съществуващи редове в таблицата