Largo Máximo de Columna Alfanumérica

01/04/2010 - 00:23 por Ivan Pequeño | Informe spam
Estimados Expertos,

He aqui mi problema:
Ulilizando la propiedad Maxlength de un DataTable en Visual Basic 2008, ésta
para cualquier String retorna ¡Siempre! -1

Recurrí entonces a esta consulta:

SELECT
max_length
FROM
Sys.Columns as C
INNER JOIN
Sys.objects As O
on
C.object_id = O.object_id
WHERE
O.Name = 'mae_cliente_direccion'
AND
c.name = 'mcmns_rccn_activo'

No creo que sea el "Inagurador" de este problema, pero he buscado horas y
horas en INet, sin encontrar una solución.
Cierto, puedo dividir el largo retornado por dos...
pero... no solamente me parece una locura, sino que ademas para una columna
de la misma tabla, de tipo Varchar(50), retorna el valor correcto. Estoy
viendo una diferencia entre los nAlgo y los Algo sin n, pero no sé por donde
buscar.

Agradezco infinitamente cualquier orientación, link, o lo que sea

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
01/04/2010 - 02:33 | Informe spam
Ivan Pequeño,

Eso esta documentado en los libros en linea de SQL Server. El tipo de data
unicode, o como le llamas nAlgo, usa dos bytes por caracter, a diferencia de
los no unicode que usan solo un byte.

AMB


"Ivan Pequeño" wrote:

Estimados Expertos,

He aqui mi problema:
Ulilizando la propiedad Maxlength de un DataTable en Visual Basic 2008, ésta
para cualquier String retorna ¡Siempre! -1

Recurrí entonces a esta consulta:

SELECT
max_length
FROM
Sys.Columns as C
INNER JOIN
Sys.objects As O
on
C.object_id = O.object_id
WHERE
O.Name = 'mae_cliente_direccion'
AND
c.name = 'mcmns_rccn_activo'

No creo que sea el "Inagurador" de este problema, pero he buscado horas y
horas en INet, sin encontrar una solución.
Cierto, puedo dividir el largo retornado por dos...
pero... no solamente me parece una locura, sino que ademas para una columna
de la misma tabla, de tipo Varchar(50), retorna el valor correcto. Estoy
viendo una diferencia entre los nAlgo y los Algo sin n, pero no sé por donde
buscar.

Agradezco infinitamente cualquier orientación, link, o lo que sea

Respuesta Responder a este mensaje
#2 Ivan Pequeño
01/04/2010 - 22:19 | Informe spam
Alejandro Mesa

Pido disculpa por mi ignorancia y descuido.

Realmente no se me ocurrió mirar los BOL.

Pero me quedó perfectamente clara su explicación

Gracias por sacarme de este atolladero.



Ivan Pequeño,

Eso esta documentado en los libros en linea de SQL Server. El tipo de data
unicode, o como le llamas nAlgo, usa dos bytes por caracter, a diferencia de
los no unicode que usan solo un byte.

AMB


"Ivan Pequeño" wrote:

> Estimados Expertos,
>
> He aqui mi problema:
> Ulilizando la propiedad Maxlength de un DataTable en Visual Basic 2008, ésta
> para cualquier String retorna ¡Siempre! -1
>
> Recurrí entonces a esta consulta:
>
> SELECT
> max_length
> FROM
> Sys.Columns as C
> INNER JOIN
> Sys.objects As O
> on
> C.object_id = O.object_id
> WHERE
> O.Name = 'mae_cliente_direccion'
> AND
> c.name = 'mcmns_rccn_activo'
>
> No creo que sea el "Inagurador" de este problema, pero he buscado horas y
> horas en INet, sin encontrar una solución.
> Cierto, puedo dividir el largo retornado por dos...
> pero... no solamente me parece una locura, sino que ademas para una columna
> de la misma tabla, de tipo Varchar(50), retorna el valor correcto. Estoy
> viendo una diferencia entre los nAlgo y los Algo sin n, pero no sé por donde
> buscar.
>
> Agradezco infinitamente cualquier orientación, link, o lo que sea
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida