Имейте большое ненужное использование результатов, содержит () метод в моем запросе. Не говорите мне использовать как или что-то еще. Это - hardcoded и не могло быть изменено.
Содержит используется в текстовых полях, которые имеют 'CONTEXT Index', который индексирует текстовое поле для поиска. Стандартное использование выглядит следующим образом (использование оператора score
для отображения того, что возвращается из содержит предложение
на основе 1 в содержит
, соответствующее 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
So contains похож на like, но будет подсчитывать, сколько раз строка встречается в текстовом поле. . Мне не удалось найти ресурс с помощью Contains, как он используется в опубликованном вами запросе, но я думаю, что это вернет строки, в которых dFullText
содержит хотя бы один экземпляр car
. , или эквивалент этого sql:
Select * from blabla where dFullText like "%car%"
Здесь - другой источник.
См. Этот пример с oracle.com
declare
rowno number := 0;
begin
for c1 in (SELECT SCORE(1) score, title FROM news
WHERE CONTAINS(text, 'oracle', 1) > 0
ORDER BY SCORE(1) DESC)
loop
rowno := rowno + 1;
dbms_output.put_line(c1.title||': '||c1.score);
exit when rowno = 10;
end loop;
end;