Importación de datos – Pasando de float a varchar (sin notación científica)

Estaba haciendo un importación desde un archivo Excel (Linked Servers). Una de las columnas de este Excel (de tipo texto) me la tomaba como float y al querer insertar en una columna de tipo varchar me lo insertaba con notación científica. Ejemplo:

INSERT dbo.Persona
(Nombre, Apellido, CUIL)  --Todas son varchar

SELECT

r.Nombre,

r.Apellido,

r.CUIL

FROM [LinkedServer_Importar]...REM$ r

El problema era el siguiente :

20129155524 (lo que estaba en la columna CUIL del Excel)

2.01292e+010 (lo que me insertaba en la columna CUIL de la tabla Persona)

La solución fue usar CAST de float a decimal y todo eso aplicar CONVERT a varchar.

INSERT dbo.Persona
(Nombre, Apellido, CUIL)  --Todas son varchar

SELECT

r.Nombre,

r.Apellido,

CONVERT(varchar(20), CAST(r.CUIL AS decimal(20,0))),

FROM [LinkedServer_Importar]...REM$ r

Luego consultare con los chicos de “alto” SQL si hay alguna otra alternativa para esto ;)

Published 04-21-2009 9:31 por Diego

La Mision

"SOMOS PIRATAS-EN-ALTA-MAR. NOS ENCONTRAMOS EN UNA MISION/UNA CRUZADA. NOS PROPONEMOS PATEAR EL TABLERO (DE LA SABIDURIA CONVENCIONAL) A LO GRANDE... Y PROVOCAR UN CAMBIO TRASCENDENTE". Tom Peters.

Buscar

Ir

El Blog

Tags

Comunidad

Sindicación

Enlaces Comunes