J'ai beaucoup de résultats inutiles en utilisant la méthode contains() dans ma requête. Ne me dites pas d'utiliser comme ou quelque chose d'autre. Il est codé en dur et ne peut pas être changé.Comment fonctionne contains() dans PL-SQL?
Répondre
Contient est utilisé sur les champs de texte qui ont un « contexte Index », qui indexe un champ de texte pour la recherche. L'usage standard est comme celui-ci (en utilisant l'opérateur score
pour afficher ce qui est renvoyé de la clause contains
sur la base 1 contains
correspondant au 1 score
):
SELECT score(1), value
FROM table_name
WHERE CONTAINS(textField, 'searchString', 1) > 0;
Pour les données comme celui-ci dans le tableau table_name
value | textField
-------|-----------------------------------------------
A | 'Here is searchString. searchString again.'
B | 'Another string'
C | 'Just one searchString'
Cette requête retournerait
2 A
1 C
contient donc est similaire à comme, mais comptera combien de fois une chaîne se produit dans un champ de texte. Je ne pouvais pas trouver une ressource en utilisant la façon dont il Contient est utilisé dans la requête que vous avez publié, mais je pense que ce serait retourner les lignes où dFullText
a au moins une instance de car
en elle, ou l'équivalent de cette sql:
Select * from blabla where dFullText like "%car%"
Here est une autre source.
Y at-il une différence entre contains() et instr()? – Rene
@Rene, oui, ils sont différents. 'Contains()' compte combien de fois une chaîne se produit dans un champ de texte et renvoie ce nombre. 'instr()' recherche une chaîne dans un champ (ou une autre chaîne) et renvoie l'index de la première chaîne de recherche trouvée (ou 0 s'il n'est pas trouvé). Voir des exemples de 'instr()' sur http://www.techonthenet.com/oracle/functions/instr.php – rosscj2533
Voir cet exemple de 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. Collection .Contains() ne fonctionne pas
- 2. ! Contains() de l'objet Liste ne fonctionne pas
- 3. Utiliser Contains dans ObjectQuery
- 4. Comment découper la date dans PLSQL?
- 5. Comment utiliser Contains() dans ma jointure
- 6. Comment utiliser 'contains' dans une instruction if?
- 7. jQuery: contains ("\ u00a0") ne fonctionne pas avec IE
- 8. plsql format numérique personnalisé
- 9. Emuler « .contains() » dans Reporting Services
- 10. C# et PLSQL curseur
- 11. PLSQL retour valeurs
- 12. plsql enfant parent oracle
- 13. Fonctions de PLSQL help
- 14. plsql curseur itératif problème
- 15. Comment est: contains() supposé être utilisé?
- 16. Comment utiliser "contains" ou "like" dans une requête linq dynamique?
- 17. Imprimer équivalent sur Oracle PLSQL
- 18. ORDER BY question sur PLSQL
- 19. Jquery - mettre des variables dans: contains()
- 20. Problème SQL: L'utilisation de CONTAINS() ne fonctionne pas, mais LIKE fonctionne correctement
- 21. Conteneur Java .contains question
- 22. PLSQL Fonction utilisée dans where clause - Performance Issue
- 23. Chaînes LINQ to SQL et Null, comment utiliser Contains?
- 24. PLSQL WHERE date_time est dans une plage de dates
- 25. Différence entre contains et containstable?
- 26. Vérifiez si une variable est null dans plsql
- 27. Requête CAML de liste SharePoint utilisant CONTAINS
- 28. instruction de sélection PLSQL avec aide variable
- 29. Comment faire une sauvegarde d'une base de données PLSQL?
- 30. Comment appeler un script shell à partir du programme PLSQL
Pourriez-vous envoyer la requête? – Padmarag
puis-je passer des paramètres dans contient pour affiner les résultats de recherche à résultat exact – Artic
Sélectionnez * from blabla où contient (dFullText, "car") – Artic