Hallo Foren Gemeinde,
folgende Fragestellung: Ich habe ein MYSQL Datenbankfeld, in dem Komma getrennt Werte enthalten sind. Ich weiß, dies ist so nicht konform, aber lässt sich auf Grund der verwendeten Vorgaben durch den Hersteller nicht anpassen.
In dem Feld "Anschrift" in der Tabelle "Stammdaten" ist folgender Syntax vorhanden:
Postleitzahl Ort, Strasse Hausnummer
LTRIM(SUBSTRING(Anschrift, CHARINDEX(',', Anschrift) + 1, LEN(Anschrift))) + Char(13) + Char(10) + RTRIM(SUBSTRING(Anschrift, 1, CHARINDEX(',', Anschrift) - 1)))) AS Adresse
Dieser liefert mir auch ein korrektes Ergebnis, so wie gewünscht.
Jetzt gibt es aber auch Einträge in dem Feld "Anschrift" mit folgendem Syntax:
Land, Postleitzahl Ort, Strasse Hausnummer
Dann funktioniert der oben genannte String natürlich nicht, da er nur nach einem Komma gen String trennt.
Also habe ich folgenden Syntax erstellt.
reverse(substring(REVERSE(Anschrift), 1, charindex(',', REVERSE(Anschrift)) - 2)) + Char(13) + Char(10) +
substring(Anschrift, charindex(',', Anschrift) + 2, charindex(',', Anschrift, charindex(',', Anschrift) + 2) - charindex(',', Anschrift) - 2) + Char(13) + Char(10) +
SUBSTRING(Anschrift, 1, charindex(',', Anschrift) - 1))) AS Adresse
Dieser funktioniert für den zweiten Syntax allerdings nicht für den ersten, da erhalte ich eine Fehlermeldung und der String wird nicht ausgegeben :-( Wie kann ich dies nun so programmieren, das beide Fälle angewendet werden? Über Eure Hilfe würde ich mich freuen, da ich hier echt nicht mehr weiter komme.
Danke vorab und viele Grüße
Marc
folgende Fragestellung: Ich habe ein MYSQL Datenbankfeld, in dem Komma getrennt Werte enthalten sind. Ich weiß, dies ist so nicht konform, aber lässt sich auf Grund der verwendeten Vorgaben durch den Hersteller nicht anpassen.
In dem Feld "Anschrift" in der Tabelle "Stammdaten" ist folgender Syntax vorhanden:
Postleitzahl Ort, Strasse Hausnummer
LTRIM(SUBSTRING(Anschrift, CHARINDEX(',', Anschrift) + 1, LEN(Anschrift))) + Char(13) + Char(10) + RTRIM(SUBSTRING(Anschrift, 1, CHARINDEX(',', Anschrift) - 1)))) AS Adresse
Dieser liefert mir auch ein korrektes Ergebnis, so wie gewünscht.
Jetzt gibt es aber auch Einträge in dem Feld "Anschrift" mit folgendem Syntax:
Land, Postleitzahl Ort, Strasse Hausnummer
Dann funktioniert der oben genannte String natürlich nicht, da er nur nach einem Komma gen String trennt.
Also habe ich folgenden Syntax erstellt.
reverse(substring(REVERSE(Anschrift), 1, charindex(',', REVERSE(Anschrift)) - 2)) + Char(13) + Char(10) +
substring(Anschrift, charindex(',', Anschrift) + 2, charindex(',', Anschrift, charindex(',', Anschrift) + 2) - charindex(',', Anschrift) - 2) + Char(13) + Char(10) +
SUBSTRING(Anschrift, 1, charindex(',', Anschrift) - 1))) AS Adresse
Dieser funktioniert für den zweiten Syntax allerdings nicht für den ersten, da erhalte ich eine Fehlermeldung und der String wird nicht ausgegeben :-( Wie kann ich dies nun so programmieren, das beide Fälle angewendet werden? Über Eure Hilfe würde ich mich freuen, da ich hier echt nicht mehr weiter komme.
Danke vorab und viele Grüße
Marc