SQL Server - OVERFLOW

 
Vista:

OVERFLOW

Publicado por karina (5 intervenciones) el 19/02/2008 21:11:32
SALUDOS A TODOS...TENGO UNA CONSULTA BASTANTE EXTENSA EN SQL..TODO ESTABA MUY BIEN PERO AL MOMENTO DE KE LE PONGO UN CAMPO MAS POR CONSULTAR Y LA TABLA CORRESPONDIENTE YA NO ME HACE LA CONSULTA Y EN SU DEFECTO ME PONE EL SIGUIENTE ERROR

Arithmetic overflow error for type varchar, value = 9467424.000000.

DE KE SE TRATA ESE ERROR Y CUAL SERIA SU SOLUCION???
ESPERO KE ME PUEDAN AYUDAR..DE ANTEMANO MIL GRACIAS..
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:OVERFLOW

Publicado por luis (6 intervenciones) el 19/02/2008 23:34:18
Hola karina
mira lo que pasa es q tienes un campo de un tamaño menor al dato que quieres ingresar o insertar seria mejor q al campo que has insertado le des una longitud mayor y con eso solucionas tu problema.

Saludos
Luis Mota
Lima-Peru
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:OVERFLOW

Publicado por karina (5 intervenciones) el 20/02/2008 00:28:23
Hola luis..gracias por tu nota he localizado el error...solo ahora tengo una nueva duda....mira lo ke pasa es ke esa parte ke me genera error la he hecho aparte y no me marca error alguno pero dentro de la consulta grande si me marca el error ke ya te describi...la verdad ya no se ni ke hacer..
la linea ke me marca error es esta:
sdo_sar=convert(str(9),(sum(importe)*100)),sdo_tot=convert(char(9),(sum(importe)*100))

ayuda....
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:OVERFLOW

Publicado por luis (6 intervenciones) el 20/02/2008 01:44:36
Hola karina
estube viendo tu caso y me di con unos resultado que si funciono
te explico.

sdo_sar=convert(str(9),(sum(importe)*100)),
sdo_tot =convert(char(9),(sum(importe)*100))

si bien es cierto " (sum(importe)*100) " trae como resultado por ejemplo
563258754.0000 en tu proceso tu tratas de convertirlo a char(9) pero resulta que ese dato no tiene la longitud que lo estas asignando al momento de convertir

probe con mi BD y aqui te mando las dos formas que puedes hacer.

1.-
convert(varchar(18),(sum(tot_bruto)*100)),
convert(varchar(18),(sum(tot_bruto)*100))

2.-
convert(numeric(13,4),(sum(tot_bruto)*100)),
convert(numeric(13,4),(sum(tot_bruto)*100))

espero te ayude.

Saludos
Luis

Lima-Peru
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:OVERFLOW

Publicado por karina (5 intervenciones) el 20/02/2008 17:50:56
Luis:
Me ha ayudado bastante muchas gracias.... :D..cuidate
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:OVERFLOW

Publicado por Isaias (3308 intervenciones) el 20/02/2008 21:06:44
¿Estas utilizando algun tipo de CAST o CONVERT sobre alguna columna?
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