T-SQL: Der beste Weg, um NULL-Werte in der String-Verkettung zu behandeln

8

Wenn ich in einer SELECT-Anweisung eine verkettete Zeichenfolge auswähle, die Werte aus den Tabellen verwendet, aus denen ich wähle, was ist der beste Weg, um NULLs für diese Werte zu behandeln, so dass ich immer noch meine Zeichenfolge habe? Wie in, wenn ich Stadt, Staat und Land für einen Benutzer auswähle, und ich möchte ein drittes Feld, das sie alle verkettet:

%Vor%

"Ort" ist jedoch NULL, wenn eines der drei Felder NULL ist (was immer dann geschieht, wenn der Benutzer nicht aus den USA stammt).

Meine derzeitige Lösung ist dies:

%Vor%

Aber ich war mir nicht sicher, ob das nur ein Hack war und ob es einen viel besseren Weg gibt, es zu tun. Gedanken?

    
JoeCool 10.02.2011, 18:09
quelle

3 Antworten

13

Um mit Kommas zwischen zwei Feldern korrekt aussehen zu können, können Sie dieses Formular verwenden

%Vor%

Ausgabe

%Vor%     
RichardTheKiwi 10.02.2011, 18:17
quelle
3

Sie können die Concat-Funktion in SQL 2012 und höher verwenden

%Vor%     
cedd 13.05.2015 10:15
quelle
2

Ja, das ist der richtige Weg. Sie könnten auch isnull () verwenden, aber Coalesce ist mehr Standard. Sie könnten überlegen, ob Sie auch in Stadt oder Land Nullen haben könnten. Sie könnten auch in Betracht ziehen, dass Benutzer mehrere Adressen haben und möglicherweise mehr als eine Stadt, einen Staat, ein Land und vielleicht eine verwandte Tabelle für diese Information besser sind.

    
HLGEM 10.02.2011 18:12
quelle

Tags und Links