Mit SQL nur bestimmte Teile eine Feldes auslesen
Ronbov
- datenbank
0 Tom0 Christian Seiler0 Thomas Luethi
Hi!
Ich habe in einer Datenbank Email - Adressen gespeichert!
Manche (schlechten) Email Clients schicken nun anstatt nur der Email - Adresse z.B. sowas mit! "Peter Muster" perter@muster.de
Ich will allerdings nur die Email - Adresse haben. Gibt es eine Möglichkeit, wie ich den Teil zwischen den beiden Eckigen Klammern auslesen kann???
MfG, und Vielen Dank im Voraus!
Ronbov
Hello,
Ich habe in einer Datenbank Email - Adressen gespeichert!
Manche (schlechten) Email Clients schicken nun anstatt nur der Email - Adresse z.B. sowas mit! "Peter Muster" perter@muster.de
Ich würde mal postulieren, dass der Programmierer, der für das DB-Design und die Inserts verantwortlich war, eine (schlechte) Ausbildung hatte.
Tom
Hallo Ronbov,
Ich will allerdings nur die Email - Adresse haben. Gibt es eine Möglichkeit, wie ich den Teil zwischen den beiden Eckigen Klammern auslesen kann???
Für MySQL wäre z.B. folgendes möglich:
SELECT IF(LOCATE('<', email) > 0 AND LOCATE('>',email,LOCATE('<', email)) > 0,SUBSTRING(email,LOCATE('<',email)+1,LOCATE('>',email,LOCATE('<', email)) - LOCATE('<', email) - 1),email) as email FROM email ;
Viele Grüße,
Christian
Hallo,
"Peter Muster" perter@muster.de
Ich will allerdings nur die Email - Adresse haben. Gibt es eine Möglichkeit, wie ich den Teil zwischen den beiden Eckigen Klammern auslesen kann???
1. Das sind spitze Klammern.
2. Du hast uns nicht verraten, was Du fuer eine DB hast.
3. Lies mal das Kapitel "String-Funktionen" im Handbuch
zu Deiner DB. - Fuer MySQL:
http://www.mysql.com/doc/en/String_functions.html
http://www.mysql.com/doc/en/String_comparison_functions.html
4. Im schlimmsten Fall musst Du zu regulaeren Ausdruecken greifen.
Oft heisst es etwas mit regexp.
Gruesse,
Thomas