error de numeric

07/11/2005 - 15:45 por Mikel | Informe spam
Hola!!

Tengo una serie de campos de tipo decimal y a la hora de lanzar la insert
para rellenarlos recino este error:
Error de desbordamiento aritmético al convertir numeric al tipo de datos
numeric

El problema es que necesito que sean numeric ya que es una base de datos de
la que tira otro programa ajeno a nosotros y no se puede tocar. La insert es
la siguiente:

UPDATE Bonos Set Lunes=2, Martes=2, Miercoles=2, Jueves", Viernes=2,
Sabado=2, Domingo=2 where CodProyecto = 100.200

Espero que alguien me pueda dar una idea de que es lo que estoy haciendo
mal.
Gracias y saludos!!

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
07/11/2005 - 16:35 | Informe spam
Mikel,

De verdad que si quieres ayuda, esta debe ser mutua. Las columnas decimales
tienen cual precision y escala?. Por que no preparas el ejemplo hombre?

create table t1(
c1 decimal(9, 4)
)

insert into t1 values(123.4567)

select * from t1

drop table t1
go


AMB

"Mikel" wrote:

En la tabla tengo los campos de tipo decimal, longitud 9 con valores nulos
permitidos.

Saludos y gracias de nuevo



Respuesta Responder a este mensaje
#7 Mikel
07/11/2005 - 16:45 | Informe spam
Disculpa pero no es una tabla que creara yo ni sqlserver es que sea mi
fuerte. Precision 18 escala 0 e identidad No.
Haciendo update a mano va ok, e insert tambien pero la update que te he
pasado me devuelve el fallo citado.

Siento mi ignorancia y gracias por tu ayuda, saludos
Respuesta Responder a este mensaje
#8 Miguel Egea
07/11/2005 - 17:01 | Informe spam
el . que has puesto ¿indica separador decimal? si no es, simplemente elimina
el . es posible que te de un error de casting por que 100.233 es 100,233
para SQL vamos que el 233 es la parte decimal.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

"Mikel" <m.paniegoARROBinikernet.com> wrote in message
news:%
En la tabla tengo los campos de tipo decimal, longitud 9 con valores nulos
permitidos.

Saludos y gracias de nuevo


Respuesta Responder a este mensaje
#9 Alejandro Mesa
07/11/2005 - 19:05 | Informe spam
Mikel,

Espero hayas leido el posting de Miguel. Por eso recalco en postear ejemplos
reales, pues no creo que el valor 100.200 (al parecer tus settings usan el
punto como separador de miles y no para decimales) cause un desbordamiento en
una columna decimal(18, 0).

declare @t (c1 decimal(18, 0))

insert into @t values(100.200)

select * from @t
go

Si usas el separador de miles, sql server dara un error diferente de el que
te refieres en tu primer posting.

insert into @t values(100,200)

resultado:

Server: Msg 213, Level 16, State 5, Line 3
Insert Error: Column name or number of supplied values does not match table
definition.


AMB

"Mikel" wrote:

Disculpa pero no es una tabla que creara yo ni sqlserver es que sea mi
fuerte. Precision 18 escala 0 e identidad No.
Haciendo update a mano va ok, e insert tambien pero la update que te he
pasado me devuelve el fallo citado.

Siento mi ignorancia y gracias por tu ayuda, saludos



Respuesta Responder a este mensaje
#10 Mikel
08/11/2005 - 08:30 | Informe spam
Solucionado
Muchas gracias por tu ayuda Alejandro
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida