URL: https://www.overclockers.at/coding-stuff/t-sql_41254/page_1 - zur Vollversion wechseln!
Ich sollt eine SQL-Abfrage im "Query Analyzer" (SQL-Server2k) erstellen. Hab da ein Problem:
Feld: PlzOrt
Inhalt: 1010 Wien
Ich will dann aber nur zB Wien heraus bekommen. Das Problem istr noch das ich teilweise auch 5-stellige PLZ habe.
Gibt es da irgend einen Befehl wo ich die PLZ ausschneiden kann. ZB alles nach dem ersten Leerzeichen ausschneiden oder so.
vielen Dank für eure rasche Hilfe.
Kann ich dir nicht auswendig sagen, und ich hab den SQL Server grad nicht installiert. Schau halt die Funktionen durch, und wenn's keine gibt, dann schreib dir eine Stored Procedure, die das macht.
leider sind meine SQL-Kenntnisse nicht sooo gut. Daher weiß ich auch den Befehl nicht.
Die Funktionen alles durchsehen? --> mir läuft die Zeit daveon --> da gibts ja hunderte *gg*
trotzdem THX
vielleicht kann mir doch noch wer helfen
Mit SUBSTRING und PATINDEX geht's.
PS Was glaubst was ich grad gemacht hab? Die Funktionen durchgesehen. Wo ist das Problem?
in der Hilfe vom Queryanalyzer sind eh die Stingfunktionen schön aufgelistet!
danke für eure Hilfe ... leider bin gerade erst beim erlenen von (T-)SQL und daher kenn isch mich noch nicht soo gut aus.
Also mit Substring gehts gut aber das passt mir noch nicht.
-----------------
Select PlzOrt
From tb_test
Ergebnis:
A 1020 Wien
CZ 25070 blabla
--------------
Ich muss es irgendwie so machen:
SELECT (Left(PlzOrt,(SELECT CHARINDEX(' ', PlzOrt, 4)))) As Ort
From tb_test
Ergebnis:
A 1020
CZ 25070
-----
Was ich dann als endgültiges Ergebnis haben will:
Wien
blabla
Ich will nur den Ort haben aber soweit reichen meine Kenntisse noch nicht !??!
Die Tabelle Test hat ca. 4000 Datensätze.
vielen dank fürs weiterhelfen
Du musst natürlich Right oder Substring verwenden, nicht Left. Ist das innere select echt notwendig? Ich kann's im Moment grad nicht ausprobieren, aber es kommt mir komisch vor.
keine Ahnung ... wie gesagt i kenn mi ned gut aus ... hab mich nur mal gespielt. Aber du kennst dich ja ganz gut aus, kanst mir sicher a bissal helfen
. Danke!
Vielleicht gibts noch ne andere möglichkeit. Ich beschreibs noch besser.
Ich hab ein Feld namens "PlzOrt" und der Inhalt ist z.B. "A 1020 Wien" oder auch "CZ 58467 Hintertupfing". Das was immer gleich ist: Länderkennzeichen Leerzeichen Postleitzahl Leerzeichen Ort. Also ich brauch nur den Text (Ort) nach dem 2. Leerzeichen
Vielen Dank im Voraus
hmm - das innere select braucht man glaub ich net...Zitat von BexdaVielleicht gibts noch ne andere möglichkeit. Ich beschreibs noch besser.
Ich hab ein Feld namens "PlzOrt" und der Inhalt ist z.B. "A 1020 Wien" oder auch "CZ 58467 Hintertupfing". Das was immer gleich ist: Länderkennzeichen Leerzeichen Postleitzahl Leerzeichen Ort. Also ich brauch nur den Text (Ort) nach dem 2. Leerzeichen
Vielen Dank im Voraus
)
hmm ... danke ... funktioniert auch noch nicht richtig.
Nun haber ich die Lösung für alle:
SELECT SUBSTRING(PlzOrt,
CHARINDEX(' ', PlzOrt,
CHARINDEX(' ', PlzOrt, 1) + 1) + 1,
DATALENGTH(PlzOrt) )
FROM dbo.adresse
Dank an alle!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026