Hanno molti risultati non necessari utilizzando il metodo contains() nella mia query. Non dirmi di usare come o qualcos'altro. È hardcoded e non può essere cambiato.Come funziona contains() in PL-SQL?
risposta
Contiene viene utilizzato su campi di testo che hanno un 'CONTESTO Index', che indicizza un campo di testo per la ricerca. L'utilizzo standard è così (usando l'operatore score
per visualizzare ciò che viene restituito dalla clausola contains
base al 1 contains
corrispondenza del 1 score
):
SELECT score(1), value
FROM table_name
WHERE CONTAINS(textField, 'searchString', 1) > 0;
Per i dati come questa nel tavolo table_name
value | textField
-------|-----------------------------------------------
A | 'Here is searchString. searchString again.'
B | 'Another string'
C | 'Just one searchString'
Quella interrogazione restituisce
2 A
1 C
Così contiene è simile a come, ma conterrà quante volte una stringa si verifica in un campo di testo. Non riuscivo a trovare una risorsa utilizzando contiene il modo in cui viene utilizzato nella query che hai postato, ma penso che sarebbe restituire le righe in cui dFullText
ha almeno un'istanza di car
in essa, o l'equivalente di questo sql:
Select * from blabla where dFullText like "%car%"
Here è un'altra fonte.
C'è qualche differenza tra contiene() e instr()? – Rene
@Rene, sì sono diversi. 'Contains() 'conta quante volte una stringa si verifica in un campo di testo e restituisce quel numero. 'instr()' cerca una stringa in un campo (o un'altra stringa) e restituisce l'indice della prima stringa di ricerca trovata (o 0 se non è stata trovata). Vedi esempi di 'instr()' su http://www.techonthenet.com/oracle/functions/instr.php – rosscj2533
Vedi questo esempio da 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;
- 1. Oracle Contains non funziona
- 2. come .Contains in jQuery
- 3. Riflessione in PLSQL?
- 4. jquery "contains" codice non funziona su chrome
- 5. Java TreeSet: remove e contains() non funziona
- 6. jQuery: contains() funziona in Firefox ma non in Chrome/Safari
- 7. come chiamare una funzione in funzione plsql
- 8. Come sovrascrivere Contains()?
- 9. funzione di incremento in plsql
- 10. Oracle: ottenere riferimenti in PLSQL
- 11. Concatenazione di raccolte in PLSQL
- 12. Contains(), come invertire usando lambda
- 13. Condizione IF EXISTS che non funziona con PLSQL
- 14. Seleziona dall'array associativo PLSQL?
- 15. Come usare not contains() in xpath?
- 16. Come usare 'contains' in un'istruzione if?
- 17. Problema SQL: l'uso di CONTAINS() non funziona, ma funziona come LIKE
- 18. JDBC PLSQL: come ottenere l'ultimo ID riga?
- 19. Contrassegna procedura/funzione PLSQL come obsoleto
- 20. Come posso emulare ": contains" usando BeautifulSoup?
- 21. Java: .contains and .equals
- 22. Significato del simbolo PLSQL "=>"
- 23. Ormlite Where-Contains Fails
- 24. LINQ Fluent NHibernate .Contains() non funziona in QueryOver <>, ma lavora in Query <>
- 25. È possibile utilizzare .contains() in un'istruzione switch?
- 26. Contains for List of Pair
- 27. Come ottenere tutti gli elementi con NSPredicate CONTAINS IN array
- 28. Aggiornamento modulo Apex tabellare con PLSQL
- 29. Ottieni l'elenco utenti LDAP utilizzando PLSQL
- 30. LINQ a stringhe SQL e Null, come utilizzare Contains?
Potresti inviare la query? – Padmarag
posso passare qualsiasi parametro in contiene per restringere i risultati della ricerca al risultato esatto – Artic
Selezionare * da blabla dove contiene (dFullText, "auto") – Artic