SQL Server - variable que me permita guardar más caracteres que nvarchar(max) en un procedimiento almacenado

 
Vista:

variable que me permita guardar más caracteres que nvarchar(max) en un procedimiento almacenado

Publicado por Adrian Delgado (2 intervenciones) el 19/08/2017 00:06:01
Saludos, alguien me ayude con lo siguiente:

necesito declarar en un sp una variable que me permita guardar más caracteres que nvarchar(max)
Con ejemplo por favor...
Gratitud eterna
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

variable que me permita guardar más caracteres que nvarchar(max) en un procedimiento almacenado

Publicado por Isaias (4558 intervenciones) el 21/08/2017 17:12:10
varchar [ ( n | max ) ]
Datos de caracteres no Unicode de longitud variable. n puede ser un valor
entre 1 y 8.000. max indica que el tamaño de almacenamiento máximo es de
2^31-1 bytes. El tamaño de almacenamiento es la longitud real de los datos
especificados + 2 bytes. Los datos especificados pueden tener una longitud
de 0 caracteres. Los sinónimos de varchar en SQL-2003 son char varying o
character varying.

¿No le bastan 2^31?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

variable que me permita guardar más caracteres que nvarchar(max) en un procedimiento almacenado

Publicado por JAMS (93 intervenciones) el 23/08/2017 18:18:16
Buenos días ojala que pueda explicarme, lo que necesitas hacer es redefinir el campo como varchar(max)

ejemplo UNO

declare @tabla table(campo1 varchar(max))

insert into @tabla values(REPLICATE('A',8500))
select campo1 tamano from @tabla

El select solo te regresa 8000 caracteres

Ejemplo DOS

declare @tabla table(campo1 varchar(max))

insert into @tabla

values(REPLICATE(cast('A' as varchar(max)),8500))



select campo1 tamano from @tabla


el select ahora te regresa los 8,500 caracteres

Analiza ambos ejemplos y encontraras que la diferencia principal es la re definición de el carácter que se inserta en este caso 8500 veces

espero te sirva
si tienes alguna duda adicional te paso la siguiente liga, es de un verdadero guru de sql server Pinal Dave

https://blog.sqlauthority.com/2013/05/13/sql-server-puzzle-and-answer-replicate-over-8000-characters/



Saludos y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

variable que me permita guardar más caracteres que nvarchar(max) en un procedimiento almacenado

Publicado por Isaias (4558 intervenciones) el 23/08/2017 23:07:42
JAMS

Lo malo de todo, que ni siquiera regreso para comentarlos si el VARCHAR(MAX), le era util.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar