Solución:
Sé que es una vieja pregunta, pero lo que hice no se menciona aquí.
Para mí funcionó lo siguiente.
DECLARE @info NVARCHAR(MAX)
--SET @info to something big
PRINT CAST(@info AS NTEXT)
La siguiente solución alternativa no utiliza la PRINT
declaración. Funciona bien en combinación con SQL Server Management Studio.
SELECT CAST('<root><![CDATA[' + @MyLongString + ']]></root>' AS XML)
Puede hacer clic en el XML devuelto para expandirlo en el visor XML integrado.
Hay un límite bastante generoso del lado del cliente en el tamaño mostrado. Ir a Tools/Options/Query Results/SQL Server/Results to Grid/XML data
para ajustarlo si es necesario.
Así es como se debe hacer esto:
DECLARE @String NVARCHAR(MAX);
DECLARE @CurrentEnd BIGINT; /* track the length of the next substring */
DECLARE @offset tinyint; /*tracks the amount of offset needed */
set @string = replace( replace(@string, char(13) + char(10), char(10)) , char(13), char(10))
WHILE LEN(@String) > 1
BEGIN
IF CHARINDEX(CHAR(10), @String) between 1 AND 4000
BEGIN
SET @CurrentEnd = CHARINDEX(char(10), @String) -1
set @offset = 2
END
ELSE
BEGIN
SET @CurrentEnd = 4000
set @offset = 1
END
PRINT SUBSTRING(@String, 1, @CurrentEnd)
set @string = SUBSTRING(@String, @[email protected], LEN(@String))
END /*End While loop*/
Tomado de http://ask.sqlservercentral.com/questions/3102/any-way-around-the-print-limit-of-nvarcharmax-in-s.html
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)