Opened 15 years ago
Last modified 14 years ago
#1022 accepted defect
Problema con tipo de dato Decimal (gestor Teradata)
| Reported by: | Javier Moreno | Owned by: | Jorge |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | Database | Version: | 2.0.1 |
| Severity: | blocker | Keywords: | |
| Cc: |
Description
Hola,
cuando DBSeries o DBTable devuelven un tipo de dato Decimal, este aparece truncado. La conexión es con una base de datos Teradata pero creo que esto también ocurre con otros gestores como Oracle, por ejemplo.
Real ex1 = DBTable("Select cast('0.82' as decimal(10,5))")[1][1];
Resultado: 0
Real ex2 = DBTable("Select cast('0.82' as float)")[1][1];
Resultado: 0.82
Change History (4)
comment:1 follow-up: 2 Changed 15 years ago by
| Status: | new → accepted |
|---|
comment:2 Changed 15 years ago by
Hola,
estoy ejecutando desde Windows 7 Proffesional, con la versión del ODBC de Teradata 13.10.00.01
comment:3 Changed 15 years ago by
Hola,
he detectado otro problema ahora con el tipo de dato BYTEINT. Teóricamente el rango de valores de este tipo de dato es de -128 a 127 (1 byte), pero consultando desde tol, los números negativos me los toma como positivos.
Real ex = DBTable("select cast(-4 as byteint)")[1][1];
//Resultado ex = 252
El entorno de ejecución, el mismo que en el otro ticket, Windows 7 Proffesional y ODBC de Teradata 13.10.00.01

Lo he probado con un teradata desde linux y el comportamiento es correcto.
[a5124279@pirara ~]$ tolsh -i -d Initializing TOL OIS: implemented version: 02.15 TOL interactive shell activated... 11:02:59 TOL> Real DBOpen( "<dsn>","<user>",">password>"); 1 11:04:14 TOL> Real ex2 = DBTable("Select cast('0.82' as float)")[1][1]; 0.82 11:04:26 TOL> Real ex1 = DBTable("Select cast('0.82' as decimal(10,5))")[1][1]; 0.82puedes indicar el entorno en el que estás ejecutando y la versión de ODBC del sistema?