StrConcatenate

28/01/2008 - 10:55 von Detlef | Report spam
Hi,

ist mir ein bissel peinlich, aber ich habe folgendes Aufgabenstellung.

Möchte einen FestenTeil mit einer LfdNr zu einem String verknüpfen:
So sollte es aussehen, sieht aber nie so aus:
select '9A' + 1 => 9A1
select 'A9' + 1 => A91
select '9' + 1 => 91

Mit
select @FesterTeil + ltrim(str(@LfdNr ))
oder
select @FesterTeil + cast(@LfdNr as varchar(10))
geht's zwar, aber gefàllt mir nicht. Gibt's einfachere Lösungen?

Danke und Gruß
Detlef
 

Lesen sie die antworten

#1 Frank Kalis
28/01/2008 - 13:56 | Warnen spam
On 28 Jan., 10:55, "Detlef" wrote:

Möchte einen FestenTeil mit einer LfdNr zu einem String verknüpfen:
So sollte es aussehen, sieht aber nie so aus:
select '9A' + 1 => 9A1
select 'A9' + 1 => A91
select '9' + 1 => 91

Mit
select @FesterTeil + ltrim(str(@LfdNr ))
oder
select @FesterTeil + cast(@LfdNr as varchar(10))
geht's zwar, aber gefàllt mir nicht. Gibt's einfachere Lösungen?




String Concatenation in SQL Server funktioniert nun mal so. Sofern Du
halt nicht CAST oder CONVERT verwendest, oder eine Funktion, die einen
String zurückgibt, versucht SQL Server gemàss den Regeln für
Datentypepràzedenzen zu operieren, was in Deinem Fall zu einen Fehler
führt, da 1 als int interpretiert wird. CAST() mag zwar vielleicht
nicht das eleganteste SQL Feature sein, es erfüllt aber voll und ganz
seinen Zweck.
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

Ähnliche fragen