Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aparecen muchos decimales

302 views
Skip to first unread message

William Fernández

unread,
Feb 14, 2003, 1:29:16 PM2/14/03
to
Hola a todos, Mi sistema en SQL Server 2000 trabaja con un Front-End
realizado en VFP 7.0, al actualizar la data de los campos tipo int (SQL) que
provienen de un campo Numeric de 15 posiciones y 2 decimales (VFP 7.0). En
la tabla de SQL aparecen una chorrera de decimales que en ningun momento se
les dijo que insertara.-

Me explico mejor tengo un valor 5245124.50 en mi tabla de VFP, pero cuando
actualizo ese campo en SQL aparecen 5245124.49999999999991 ¿alguien sabe a
que se debe esto? mis tablas en VFP son un cursor temporal creado con el
VFPCOM util de Microsoft

Gracias.


Isaías

unread,
Feb 14, 2003, 1:44:12 PM2/14/03
to
¿Que tipo de dato y que longitud tiene su columna en SQL?

William Fernández

unread,
Feb 14, 2003, 1:53:12 PM2/14/03
to
mi Tipo de Dato es Float y tiene una longitud de 8, a esta no le puedo
cambiar el valor de precision


"Isaías" <iis...@hotmail.com> wrote in message
news:002c01c2d459$116980e0$a501...@phx.gbl...

Eladio Rincón

unread,
Feb 14, 2003, 1:50:23 PM2/14/03
to
Hola,
me temo que en alguna parte del proceso de migración se ha convertido el
tipo de datos de VFP Decimal (15,2) a FLOAT o DOUBLE.
Podrías mostrar la definición de la tabla en SQL Server ?


--
Saludos,

Eladio Rincón
MCP SQL Server
http://eu.webmatrixhosting.net/Eladio

"Comparte lo que sabes, aprende lo que no sepas". FGG

"William Fernández" <willi...@cantv.net> escribió en el mensaje
news:#rrnzbF1CHA.2308@TK2MSFTNGP09...

William Fernández

unread,
Feb 14, 2003, 1:58:35 PM2/14/03
to
Esta es la definicion de la Tablas SQL

CREATE TABLE [dbo].[HistSaldos] (
[cod_emp] [varchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[periodo] [varchar] (4) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[mes] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Etapas] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[codigo] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[saldo_ant] [float] NOT NULL ,
[debitos] [float] NOT NULL ,
[creditos] [float] NOT NULL ,
[Saldo_act] [float] NOT NULL
) ON [PRIMARY]
GO


"Eladio Rincón" <tvel...@QUITAMEtorrevieja.infoville.net> wrote in message
news:erNgZpF1CHA.2648@TK2MSFTNGP11...

Eladio Rincón

unread,
Feb 14, 2003, 2:16:13 PM2/14/03
to
Hola,

si necesitas la precisión qeu tenías en FP, deberás agregar una columna tipo
decimal (15,2):

- Actualizar el contenido de la columna float a decimal (con la posible
perdida de precición y errores de actualización:mira el ejemplo que te pongo
al final).

- Reinsertar los datos de nuevo: vinculando, re-importando los datos, bcp,
...

create table prueba (
valor float )

insert into prueba values ( 12.222222222334566 )
insert into prueba values ( 12222222222334566 )
insert into prueba values ( 4444412222222222334566 )

select * from prueba

alter table prueba
add nvalor decimal (15,2)


SET ARITHABORT Off

-- Si no pones el arithabort, la actualización no se podrá realizar por
desbordamiento aritmético: arithabort hace que cuando se vaya a producir
error, en su lugar inserte nulos.

update prueba
set nvalor = valor


realmente necesita

--
Saludos,

Eladio Rincón
MCP SQL Server
http://eu.webmatrixhosting.net/Eladio

"Comparte lo que sabes, aprende lo que no sepas". FGG

"William Fernández" <willi...@cantv.net> escribió en el mensaje

news:#9BzKsF1CHA.2668@TK2MSFTNGP12...

Fernando España

unread,
Feb 14, 2003, 8:56:53 AM2/14/03
to
Visual Fox Pro, tiene problemas al convertir la data a sql server, cuando el
tipo de datos no es igual, por ejemplo si usas un campo money en sql server
y lo mapeas en una vista remota o envias un sqlexec desde vfp, la data no se
guarda de la misma forma, no he averiguado por que, pero trato de no
utilizar ese tipo de datos. es decir, utilzar numeric y lo mapeas con un
tipo numeric en vfp. Esto podria decirte unicamente.


"William Fernández" <willi...@cantv.net> escribió en el mensaje
news:#rrnzbF1CHA.2308@TK2MSFTNGP09...

> Hola a todos, Mi sistema en SQL Server 2000 trabaja con un Front-End
> realizado en VFP 7.0, al actualizar la data de los campos tipo int (SQL)
que
> provienen de un campo Numeric de 15 posiciones y 2 decimales (VFP 7.0). En
> la tabla de SQL aparecen una chorrera de decimales que en ningun momento
se
> les dijo que insertara.-
>
> Me explico mejor tengo un valor 5245124.50 en mi tabla de VFP, pero cuando

> actualizo ese campo en SQL aparecen 5245124.49999999999991 żalguien sabe a

Isaías

unread,
Feb 14, 2003, 5:38:04 PM2/14/03
to
Bueno, Eladio ya te dio la respuesta correcta.
0 new messages