Re: [de-users] Reguläre Ausdrücke in Base Abfragen
Konkret möchte ich alle Werte finden, die mit sechs Ziffern beginnen, d.h. also mein Ausdruck wäre etwas wie '^[0-9]{6}.*$' Hi - ist zwar nicht das was man einen regulären Ausdruck nennt, aber für die meisten Daten wird's passen. Wenn Du Dir sicher bist, dass es keine Einträge gibt, die 1Z3456 heißen, dann kannst Du einfach die 'LEFT' Funktion benutzen: SELECT LEFT( TextFeld, 6 ) AS Stellen 1 bis 6, ( CONVERT ( LEFT( TextFeld, 6 ) , BIGINT ) ) * 3 AS Konvertiert und Plutimikation FROM Tabelle1 WHERE LEFT( TextFeld, 6 ) = '0' AND LEFT( TextFeld, 6 ) = '99' sonst musst Du jede Stelle einzeln abfragen: SELECT LEFT( TextFeld, 6 ) AS Stellen 1 bis 6, (CONVERT(LEFT(TextFeld,6),BIGINT)) * 3 AS Konvertiert und Plutimikation FROM Tabelle1 WHERE SUBSTRING ( TextFeld, 1, 1 ) = '0' AND SUBSTRING ( TextFeld, 1, 1 ) = '9' AND SUBSTRING ( TextFeld, 2, 1 ) = '0' AND SUBSTRING ( TextFeld, 2, 1 ) = '9' AND SUBSTRING ( TextFeld, 3, 1 ) = '0' AND SUBSTRING ( TextFeld, 3, 1 ) = '9' AND SUBSTRING ( TextFeld, 4, 1 ) = '0' AND SUBSTRING ( TextFeld, 4, 1 ) = '9' AND SUBSTRING ( TextFeld, 5, 1 ) = '0' AND SUBSTRING ( TextFeld, 5, 1 ) = '9' AND SUBSTRING ( TextFeld, 6, 1 ) = '0' AND SUBSTRING ( TextFeld, 6, 1 ) = '9' Über die Convert-Funktion kannst Du prüfen ob Deine Abfrage stimmt - sollte eine Exception kommen, dann weil ein Buchstabe oder Sonder- zeichen nicht in einen Numerischen Wert umgewandelt werden kann. -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Re: [de.-users] Reguläre Ausdrücke in Base Abfragen
Hallo liebe Liste, Anfrage: Am 29.03.2012 09:13, schrieb LuFle: Konkret möchte ich alle Werte finden, die mit sechs Ziffern beginnen, d.h. also mein Ausdruck wäre etwas wie '^[0-9]{6}.*$' Kann mir jemand freundlicherweise kurz erklären, um was es sich bei vorsteh. Hieroglyphen handelt und wozu diese für den Normal-Anwender von LO nütze sind? Hi - ist zwar nicht das was man einen regulären Ausdruck nennt, aber für die meisten Daten wird's passen. Wenn Du Dir sicher bist, dass es keine Einträge gibt, die 1Z3456 heißen, dann kannst Du einfach die 'LEFT' Funktion benutzen: SELECT LEFT( TextFeld, 6 ) AS Stellen 1 bis 6, ( CONVERT ( LEFT( TextFeld, 6 ) , BIGINT ) ) * 3 AS Konvertiert und Plutimikation FROM Tabelle1 WHERE LEFT( TextFeld, 6 ) = '0' AND LEFT( TextFeld, 6 ) = '99' sonst musst Du jede Stelle einzeln abfragen: SELECT LEFT( TextFeld, 6 ) AS Stellen 1 bis 6, (CONVERT(LEFT(TextFeld,6),BIGINT)) * 3 AS Konvertiert und Plutimikation FROM Tabelle1 WHERE SUBSTRING ( TextFeld, 1, 1 ) = '0' AND SUBSTRING ( TextFeld, 1, 1 ) = '9' AND SUBSTRING ( TextFeld, 2, 1 ) = '0' AND SUBSTRING ( TextFeld, 2, 1 ) = '9' AND SUBSTRING ( TextFeld, 3, 1 ) = '0' AND SUBSTRING ( TextFeld, 3, 1 ) = '9' AND SUBSTRING ( TextFeld, 4, 1 ) = '0' AND SUBSTRING ( TextFeld, 4, 1 ) = '9' AND SUBSTRING ( TextFeld, 5, 1 ) = '0' AND SUBSTRING ( TextFeld, 5, 1 ) = '9' AND SUBSTRING ( TextFeld, 6, 1 ) = '0' AND SUBSTRING ( TextFeld, 6, 1 ) = '9' und wozu braucht man diese vorsteh. Kenntnisse? Aus welchem EDV-Sprachbereich sind sie? Über die Convert-Funktion kannst Du prüfen ob Deine Abfrage stimmt - sollte eine Exception kommen, dann weil ein Buchstabe oder Sonder- zeichen nicht in einen Numerischen Wert umgewandelt werden kann. Danke und mit freundlichem Gruß ! JoLa -- Jost Lange, Dipl.-Ing. Dozent f. Gebäude-Technik AD Lektor f. EDV-Anwendungen 59075 Hamm/Westf., Eschstr. 1b R + F: 02381 - 72838 -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Reguläre Ausdrücke in Base Abfragen
Servus zusammen, ich komm grad nicht drauf, wie man reguläre Ausdrücke in Filterbedingungen in Base nutzen kann. Ich habe versucht … WHERE column RLIKE 'regex_here' … WHERE column REGEXP 'regex_here' … WHERE column REGEXP_LIKE 'regex_here' Aber nichts davon funktioniert. Konkret möchte ich alle Werte finden, die mit sechs Ziffern beginnen, d.h. also mein Ausdruck wäre etwas wie '^[0-9]{6}.*$' Kann mir jemand einen Tip geben? Danke+Gruß! -- Andre Tann -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Reguläre Ausdrücke in Base Abfragen
Hallo Andre, ich arbeite (über Perl) zwar häufig mit Regulären Ausdrücken und kann Dir deshalb auch aus Erfahrung sagen das .*$ (irgendwas) punkt stern zeilenende zwar Probleme bereiten, aber warum, dass weiss ich selbst nur so ungefähr und müsste es erst nachlesen. Über http://www.regexe.de/ habe ich ein paar Tests gefahren und kann Dir vielleicht folgenden Ausdruck anbieten: ^[0-9]{6}.{0,} zeilenanfang [ziffern] {exakt 6} punkt_fuer_irgendwas {0 zeichen bis zeilenende} Gruß Achim -- openSUSE 11.4 KDE – Frei sein! Plattform-Version 4.6.00 (4.6.0) release 6 LibreOffice 3.3.4 OOO340m1 (Build:502) --- „Mir, ... war die konsequente Rechtschreibung immer ziemlich gleichgültig. Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.“ Johann Wolfgang von Goethe (1749-1832), dt. Dichter. Am Mittwoch, 28. März 2012, 08:50:30 schrieb Andre Tann: Servus zusammen, ich komm grad nicht drauf, wie man reguläre Ausdrücke in Filterbedingungen in Base nutzen kann. Ich habe versucht … WHERE column RLIKE 'regex_here' … WHERE column REGEXP 'regex_here' … WHERE column REGEXP_LIKE 'regex_here' Aber nichts davon funktioniert. Konkret möchte ich alle Werte finden, die mit sechs Ziffern beginnen, d.h. also mein Ausdruck wäre etwas wie '^[0-9]{6}.*$' Kann mir jemand einen Tip geben? Danke+Gruß! -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Reguläre Ausdrücke in Base Abfragen
Hallo Andre, ich komm grad nicht drauf, wie man reguläre Ausdrücke in Filterbedingungen in Base nutzen kann. Ich habe versucht … WHERE column RLIKE 'regex_here' … WHERE column REGEXP 'regex_here' … WHERE column REGEXP_LIKE 'regex_here' Ich habe die Befürchtung, dass Du mit Deinem Vorhaben kein Glück haben wirst, zumindest wenn Du die interne HSQLDB benutzt. Die kennt nur LIKE und dort dann auch nur Platzhalter für ein oder beliebig viele Zeichen: The LIKE keyword uses '%' to match any (including 0) number of characters, and '_' to match exactly one character. To search for '%' or '_' itself an escape character must also be specified using the ESCAPE clause. For example, if the backslash is the escaping character, '\%' and '\_' can be used to find the '%' and '_' characters themselves. For example, SELECT LIKE '\_%' ESCAPE '\' will find the strings beginning with an underscore. Wenn Du z.B. MySQL nutzt geht REGEXP bzw. RLIKE mit den von Dir aufgeführten Parametern. Gruß Robert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Reguläre Ausdrücke in Base Abfragen
2012/3/28 Andre Tann at...@alphasrv.net: Servus zusammen, ich komm grad nicht drauf, wie man reguläre Ausdrücke in Filterbedingungen in Base nutzen kann. Ich habe versucht … WHERE column RLIKE 'regex_here' … WHERE column REGEXP 'regex_here' … WHERE column REGEXP_LIKE 'regex_here' Aber nichts davon funktioniert. Standard Keyword wäre LIKE_REGEX - aber k.A. ob hsqldb das unterstützt. Was aber in der Doku aufgeführt wird ist REGEXP_MATCHES, REGEXP_SUBSTRING und REGEXP_SUBSTRING_ARRAY http://hsqldb.org/doc/guide/builtinfunctions-chapt.html#bfc_string_binary_functions ciao Christian -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Reguläre Ausdrücke in Base Abfragen
Hallo Christian, Standard Keyword wäre LIKE_REGEX - aber k.A. ob hsqldb das unterstützt. Was aber in der Doku aufgeführt wird ist REGEXP_MATCHES, REGEXP_SUBSTRING und REGEXP_SUBSTRING_ARRAY http://hsqldb.org/doc/guide/builtinfunctions-chapt.html#bfc_string_binary_functions Diese Dokumentation ist leider für die 2.2 der HSQLDB. Und die interne von LibreOffice ist die 1.8.* Die Dokumentation hierzu ist irgendwann im letzten Monat vom Server genommen worden - meine Links zeigen dazu nur noch Error 404 an. Ich habe allerdings den kompletten Inhalt hier auf Platte. Und da gibt es keine REGEXP-Funktionen. Gruß Robert -- Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert