https://help.libreoffice.org/Common/Find_Record#Wildcard_expression
Sie können Vildcards verwenden:
? für ein einzelnes Platzhaltersymbol
* für 0-n-Symbole
Arry kann Harry oder Barry sein
B * b kann Bob oder Bebob sein
Ich verwende Base in LibreOffice 4.0 (verwendet immer noch das mit Base gelieferte HSQL, möchte aber auf HSQL 2.2.8 umsteigen), und ich möchte eine Abfrage durchführen, die nach einer Parameter-Eingabe fragt:
SELECT * FROM "Contacts" WHERE "FirstName" LIKE :FirstName
und wenn Sie die Abfrage ausführen, erscheint ein Fenster, in dem Sie nach Ihrer Parametereingabe für 'FirstName' gefragt werden.
Das Problem bei diesem ist, dass mein aktueller Kunde ein schrecklicher Speller ist und die Parametereingabe eine exakte Übereinstimmung erfordert, einschließlich Großbuchstaben.
Ich habe mehrere Möglichkeiten ausprobiert, um das Platzhalter-Symbol% zur Parametersuche hinzuzufügen. Es funktioniert nicht.
Ich habe SQL verwendet, um eine Wildcard-Abfrage zu erstellen (z. B. SELECT * FROM "Contacts" WHERE "FirstName" LIKE 'W%'
), aber leider muss dieser Client in die SQL-Abfrage einsteigen und die Buchstaben ändern, nach denen er sucht. Dies wiederum ist keine Option für meinen Client, der sich auch nicht mit SQL auskennt Datenbanken oder Computer für diese Angelegenheit.
Gibt es eine Möglichkeit, eine Platzhaltersuche in eine Abfrage einzufügen, die eine Parametereingabe erzeugt? ODER gibt es ein Makro, das ich programmieren kann (helfen Sie bitte!), Das dies für mich tun wird?
Hinweis: Während das Suchdatensatzfeld an einer beliebigen Stelle im Feld nach Übereinstimmungen sucht, ist dies aufgrund der großen Anzahl von Kontakten eine sehr langsame Suchmethode.
https://help.libreoffice.org/Common/Find_Record#Wildcard_expression
Sie können Vildcards verwenden:
? für ein einzelnes Platzhaltersymbol
* für 0-n-Symbole
Arry kann Harry oder Barry sein
B * b kann Bob oder Bebob sein
Haven't tested on hsql 2.2, but this works on hsql 1.8. Perhaps you could use something similar--may have to change the concat to work with ||.
SELECT * FROM "Contacts" WHERE UPPER("FirstName") LIKE CONCAT(UPPER(:FIRSTNAME),'%')