WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   MySQL REGEXP (http://www.wcm.at/forum/showthread.php?t=207209)

justsmile 06.01.2007 12:59

MySQL REGEXP
 
Hallo!

Ich bin auf der Suche nach einer REGEXP für MySQL, die alle Einträge liefert, die einen (od. mehrere) Großbuchstaben enthalten.

Derzeit hab ich mal soweit gebastelt, aber leider kein Erfolg :confused:

Code:

SELECT * FROM tabelle WHERE feld REGEXP '^[A-Z]+$'
Kann mir da jemand weiterhelfen? Vielen Dank!

iG0r 07.01.2007 07:02

versuch mal...

PHP-Code:


SELECT 
FROM tabelle WHERE feld REGEXP '[[:upper:]]+$' 


justsmile 07.01.2007 21:00

Hi!
Vielen Dank, leider führt das - trotz auch Nachlesen in der Doku - nicht zum gewünschten Ergebnis :heul:

Ich habe jetzt eine DB mit 10 Datensätzen und der Befehl liefert alle 10 als Resultat, korrekt wäre aber 3 (Testfälle)

iG0r 07.01.2007 21:43

wenn egal aus welchen zeichen der eintrag besteht, nur die mir eigen großbuchsaben selektiert werden sollen, egal wo sich dieser buchstabe befindet, funktioniert dein +$ nicht.

abgesehen davon gibt es vielleicht eine bessere möglichkeit mit LIKE oder gelich mit der sprache deiner wahl die ergebnisse aus zu werten. python und php zb eigenen sich da recht gut.

versuch mal den hier :)

PHP-Code:


SELECT 
FROM tabelle WHERE feld REGEXP '[[:upper:]]+n' 


justsmile 08.01.2007 21:44

Danke!

Hm, da kommen schon weit weniger Ergebnisse - leider eben nicht nur die besagten 3, sondern auch einige andere.
Leider nicht nachvollziehbar...
Eventuell wegen . od - im jeweiligen Datensatz? Macht aber auch keinen Sinn...

@Sprache: schon klar, nur in diesem Fall ist es PHP und die function bekommt nur mehr die SQL-Anweisungen übergeben.
Für manche Ausgaben wird Großschreibung benötigt, für andere nicht. Deswegen die Idee, das gleich auf SQL-Seite zu machen...

iG0r 09.01.2007 00:23

also wenn es sich um reine echte wörter handelt (keine namen oder frei erfundene wörter), sind die großbuchstaben doch am anfang, somit würde sich die sache erheblich vereinfachen. wenn du nur den 1. buchstaben auf großschreibung prüfen willst, reicht ein ^ am anfrang des regexp und du könntest mit [A-Z] arbeiten.

justsmile 11.01.2007 20:39

hm, leider sind da auch emailadressen dabei, damit's nicht zu einfach ist ;-)

Danke für die Mühe, ich dachte, dass SQL da ein bisschen flexibler ist.

naja, muss doch irgendwie PHP herhalten...


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag