TSQL-string-Verkettung funktioniert nicht in WHILE-Schleife?
Code Balg ist nicht die Arbeit, irgendwelche Ideen, warum?
declare @Counter int
set @Counter = 0
declare @ConcText nvarchar(1000)
while @Counter < 5
begin
--set @ConcText = @ConcText + cast(@Counter as nvarchar(10)) + N' counter,'
--set @ConcText = @ConcText + convert(nvarchar(10), @Counter) + N' counter,'
set @ConcText = @ConcText + N' counter,'
set @Counter = @Counter + 1
end
print @ConcText --<-- this is null, why ??
- Definiere "funktioniert nicht" - Was ist spuckt. Was soll es ausspucken?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen MSDN: + (String-Verkettung) (Transact-SQL):
So, um die Dinge zu arbeiten, es ist eine gute Praxis zu initiieren varchar-Variablen direkt nach dem deklarieren:
Andere Art und Weise zu behandeln, NULL, concat (Ausgabe, wenn Sie nicht wissen, ob der Wert NULL ist oder nicht) - ISNULL oder COALESCE:
Sie sind nicht die Einstellung @ConcText, um alles am start, also beim verketten alles auf NULL, erhalten Sie NULL.