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