SQL - Convertir Nvarchar(20) a Integer

   
Vista:

Convertir Nvarchar(20) a Integer

Publicado por JoseM (23 intervenciones) el 27/02/2008 13:25:17
Buenos días, ya sé que tengo las funciones CAST y CONVERT, el problema es que tengo una columna de datos en nvarchar20 y necesito pasar temporalmente esos valores a numéricos. El problema es que la longitud de los valores es de 10 dígitos 3432345656, y durante la conversión me da un error de desbordamiento.

Alguna sugerencia?? Sin tener que emplear tablas temporales
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

RE:Convertir Nvarchar(20) a Integer

Publicado por Isaias (5073 intervenciones) el 27/02/2008 19:30:50
JoseM

¿Y como estas usando el CAST/CONVERT para hacer tu conversion?
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

RE:Convertir Nvarchar(20) a Integer

Publicado por JoseM (23 intervenciones) el 28/02/2008 08:06:02
Por ejemplo:
SELECT * FROM Tabla
WHERE Cuenta=cast(@maximo as NVARCHAR(20))

Cuenta es un campo como nvarchar(20)
@maximo está declarado como integer

Lo he declarado como integer pq me interesa usarlo tb como contador.

Por si se necesitara el detalle, los valores en concreto van de 4300000000 en adelante.
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

RE:Convertir Nvarchar(20) a Integer

Publicado por lcc (17 intervenciones) el 28/02/2008 20:33:45
JoseM

tu problema es que el tipo integer no soporta esa cantidad de carteres numerico

debieras declarar con un tipo numerico que lo soporte
longint, double, float, decimal (depende de la BD que uses)

por otra parte yo no se mucho el uso del cast en transact sql solo del convert.

@maximo decimal(20)


por otra par no tengo claro si quieres convertir de nvarchar a integer o de el integer en nvarchar cast(@maximo as NVARCHAR(20)) por o que entiendo esto esta convirtiendo el integer en nvarchar.
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

RE:Convertir Nvarchar(20) a Integer

Publicado por JoseM (23 intervenciones) el 29/02/2008 12:58:06
Gracias Lcc, he probado con otros tipos de variables, pero sigue sin poder hacerse.

intento pasar de nvarchar(20) a número entero.

Los valores que existen son de 4300000000 en adelante.

estoy pensando en particionar el valor, convertir cada parte a una variable numérica y concatenarlos después. >.<
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

RE:Convertir Nvarchar(20) a Integer

Publicado por Isaias (5073 intervenciones) el 29/02/2008 20:25:52
¿Y si utilizas el BIGINT?

The bigint data type is an integer containing values from -2^63 (-9,223,372,036,854,775,808) through 2^63-1 (9,223,372,036,854,775,807). The storage size is 8 bytes.
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

RE:Convertir Nvarchar(20) a Integer

Publicado por JoseM (23 intervenciones) el 03/03/2008 08:22:32
Con el BIGINT sigue sin dejarme pasar de NVARCHAR(20) a BIGINT, pero al menos si me permite comparar un NVARCHAR(20) con un CAST(VariableBIGINT as NVARCHAR(20)

Con eso me vale, muchas gracias
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