Sie können bei einer Volltextsuche mehrere Begriffe angeben, die durch Boolesche Operatoren getrennt sind. SQL Anywhere unterstützt die folgenden Booleschen Operatoren, wenn eine Volltextsuche durchgeführt wird: AND, OR und AND NOT.
Weitere Hinweise zur Syntax für die Boolesche Suche finden Sie unter CONTAINS-Suchbedingung.
Der AND-Operator findet eine Zeile, wenn sie beide Begriffe enthält, die links bzw. rechts des AND-Operators angegeben sind. Sie können auch ein kaufmännisches Und (&) für den AND-Operator verwenden. Wenn Begriffe ohne Operator angegeben sind, wird AND angenommen.
Die Reihenfolge, in der die Begriffe aufgelistet sind, ist unwichtig.
Beispiel: Jede der folgenden Anweisungen findet Zeilen in "MarketingInformation.Description", die den Begriff fabric und einen Begriff enthalten, der mit ski beginnt:
SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'ski* AND fabric' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric & ski*' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'ski* fabric' ); |
Der OR-Operator findet eine Zeile, wenn sie zumindest einen der links oder rechts von OR angegebenen Suchbegriffe enthält. Sie können auch einen Senkrechtstrich (|) anstelle des OR-Operators verwenden. Die beiden sind äquivalent.
Die Reihenfolge, in der die Begriffe aufgelistet sind, ist unwichtig.
Beispiel: Beide der folgenden Anweisungen finden Zeilen in "MarketingInformation.Description", die entweder den Begriff fabric oder einen Begriff enthalten, der mit ski beginnt:
SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'ski* OR fabric' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric | ski*' ); |
Der AND NOT-Operator findet Ergebnisse, die mit dem linken Argument, aber nicht dem rechten Argument übereinstimmen. Sie können auch einen Bindestrich (-) anstelle des AND NOT-Operators verwenden. Die beiden sind äquivalent.;
Beispiel: Die folgenden Anweisungen sind gleichwertig und geben Zeilen zurück, die den Begriff fabric, aber keine Begriffe enthalten, die mit ski beginnen.
SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric AND NOT ski*' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric -ski*' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric & -ski*' ); |
Die Booleschen Operatoren können in einer Abfragezeichenfolge kombiniert werden. Beispiel: Die folgenden Anweisungen sind gleichwertig und durchsuchen die Spalte "MarketingInformation.Description" nach Einträgen, die fabric und skin, aber nicht cotton enthalten:
SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'skin fabric -cotton' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric -cotton AND skin' ); |
Die folgenden Anweisungen sind gleichwertig und durchsuchen die Spalte "MarketingInformation.Description" nach Einträgen, die fabric oder sowohl cotton als auch skin enthalten:
SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'fabric | cotton AND skin' ); SELECT * FROM MarketingInformation WHERE CONTAINS ( MarketingInformation.Description, 'cotton skin OR fabric' ); |
Begriffe und Ausdrücke können mit Klammern gruppiert werden. Beispiel: Die folgende Anweisung durchsucht die Spalte "MarketingInformation.Description" nach Einträgen, die cotton oder fabric sowie Begriffe enthalten, die mit ski beginnen.
SELECT ID, Description FROM MarketingInformation WHERE CONTAINS( MarketingInformation.Description, '( cotton OR fabric ) AND shi*' ); |
Description | |
---|---|
902 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Tee Shirt</title></head><body lang=EN-US><p><span
style='font-size:10.0pt;font-family:Arial'>This simple, sleek, and lightweight technical shirt is designed for high-intensity workouts in hot and humid weather. The recycled polyester fabric is gentle on the earth and soft against your skin.</span></p></body></html> |
903 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Tee Shirt</title></head><body lang=EN-US><p><span
style='font-size:10.0pt;font-family:Arial'>A sporty, casual shirt made of recycled water bottles. It will serve you equally well on trails or around town. The fabric has a wicking finish to pull perspiration away from your skin.</span></p></body></html> |
906 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Visor</title></head><body lang=EN-US><p><span
style='font-size:10.0pt;font-family:Arial'>Lightweight 100% organically grown cotton construction. Shields against sun and precipitation. Metallic ions in the fibers inhibit bacterial growth, and help neutralize odor.</span></p></body></html> |
Sie können eine Volltextsuche über mehrere Spalten in einer einzigen Abfrage durchführen, sofern die Spalten Teil desselben Textindexes sind.
SELECT * FROM Products WHERE CONTAINS ( Tab.Spalt1, Tab.Spalt2, 'Begriff1|Begriff2' ); |
SELECT * FROM Tabelle WHERE CONTAINS( Tab-Spalt1, ' Begriff1' ) OR CONTAINS( Tab.Spalt2, 'Begriff2' ); |
Die erste Abfrage findet Übereinstimmungen, wenn Tab1-Spalt1 Begriff2 oder wenn Tab1.Spalt2 Begriff2 enthält
Die zweite Abfrage findet Übereinstimmungen, wenn entweder Tab1.Spalt1 oder Tab1.Spalt2 entweder Begriff1 oder Begriff2 enthält. Diese Verwendung von CONTAINS gibt auch Punktewerte für die Übereinstimmungen zurück. Weitere Hinweise finden Sie unter Volltext-Suchergebnisse bewerten.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |