Frequently asked questions - Base
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
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.