Suche mittels Zeichenfolge - FAQ-Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 132
Jump to: navigation, search

Wie kann ich Daten anhand einer bestimmten Zeichenfolge suchen?

In der GUI kann als Kriterium zu einem Text WIE '*ein' eingegeben werden. Dann werden alle Begriffe gefunden, die mit den Buchstaben 'ein' enden, z.B. 'Rhein'. Soll der Begriff nur irgendwo im Text vorkommen, so kann die Suche mit WIE '*ein*' erfolgen. Jetzt wird neben 'Rhein' auch 'Rheine' gefunden.

In SQL sieht dann die Abfrage so aus:

SELECT "Text" FROM "Tabelle" WHERE "Text" LIKE '%ein%'

Universeller ist es, wenn jetzt noch ohne Unterscheidung von Groß- und Kleinschreibung z.B. auch der Begriff 'Einkauf' gefunden werden kann:

SELECT "Text" FROM "Tabelle" WHERE LOWER("Text") LIKE '%ein%'

Die Eingabe des Suchbegriffs erfolgt in der Regel nicht diekrt im Quellcode. Besser ist hier die universelle Variante über eine Parameterabfrage:

SELECT "Text" FROM "Tabelle" WHERE LOWER("Text") LIKE '%'||LOWER(:Suchbegriff)||'%'

Jetzt öffnet sich ein Fenster zu Eingabe des Suchbegriffs. Bei der Eingabe ist egal, ob Großbuchstaben oder Kleinbuchstaben eingegeben werden. Der Begriff kann außerdem an beliebigen Stellen im Text stehen. Der entsprechende Text wird angezeigt.