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 ;)