Hace algún tiempo me tope con la integración de información de la base de datos, con un dato varchar que contenía solo valores numéricos. Y cuando lo cargaba a la herramienta me ocurría que automáticamente cargaba la información como valores integer. Les describo detalladamente lo que me ocurría. y la solución que le di por si les pasa lo mismo.
Tabla en la base de datos
Código | Descripción |
VARCHAR | VARCHAR |
098 | Rexma de papel 500 hojas |
98 | Vasos plasticos 25 unidades |
00045 | Platos plasticos por 100 unidades |
045 | Cubiertos plasticos 25 unidades |
035 | Servilletas 1000 unidades |
80 | Manteles plasticos 1 unidad |
Carga en el modelo de QV(en configuraciones vemos los tipos de cada uno de los campos)
Codigo | Descripcion |
TEXT o INTEGER | TEXT |
98 | Rexma de papel 500 hojas |
98 | Vasos plasticos 25 unidades |
045 | Platos plasticos por 100 unidades |
045 | Cubiertos plasticos 25 unidades |
035 | Servilletas 1000 unidades |
80 | Manteles plasticos 1 unidad |
Script de cargue
Producto:
LOAD Codigo,
Descripcion;
SQL SELECT Codigo,
Descripcion
from producto;
Algo que me parecía curioso es que los ceros al inicio solo se los quitaba a algunos de los productos, no se seguía un patrón sobre este, y en ninguna parte estaba especificando este comportamiento.
Para solucionar el problema lo que hice fue especificar en la carga del script que el dato que venia allí era de texto.
Solución:
Producto:
LOAD text(Codigo) as Codigo,
Descripcion;
SQL SELECT Codigo,
Descripcion
from producto;
No hay comentarios:
Publicar un comentario