I’m trying to do this:
DECLARE @myVar VARCHAR(MAX)
Loop with cursor
select @myVar = @myVar + bla bla bla
end loop
When the loop ends, @myVar is incomplete, containing only 8000 characters.
I have tryed to use text, but is not allowed to local vars.
What would be a good solution to this case?
xml var?
I have just looked this posts:
How do I pass a string parameter greater than varchar(8000) in SQL Server 2000?
Check if concatenating to a varchar(max) will go beyond max allowable characters
And others through the web.
Regards.
Seriously –
VARCHAR(MAX)can store up to 2 GB of data – not just 8000 characters…..Try this:
This will return a value higher than 8000 characters after 1000 iterations.
The point is: if you’re using
varchar(max), you need to make sure to always cast all your strings tovarchar(max)explicitly – as I did in this example. Otherwise, SQL Server will fall back to “regular”varcharprocessing, and that’s indeed limited to 8000 characters….