close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Last modified 13 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 Changed 14 years ago by Jorge

Status: newaccepted

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.82

puedes indicar el entorno en el que estás ejecutando y la versión de ODBC del sistema?

comment:2 in reply to:  1 Changed 14 years ago by Javier Moreno

Hola,
estoy ejecutando desde Windows 7 Proffesional, con la versión del ODBC de Teradata 13.10.00.01

comment:3 Changed 14 years ago by Javier Moreno

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

comment:4 Changed 13 years ago by Jorge

(In [4537]) fixes #1503, refs #1022,#983,#300,#296, BIGINT is returned as SQL_C_CHAR then converted to Real

Note: See TracTickets for help on using tickets.