Integer vs Float (UNION on Oracle)

Hi,

I'm having a little problem here with Delphi interpreting field data type
inconsistently when a SQL command includes a UNION. The problem occurs with
Oracle database.

For example, I have two tables with only a NUMBER(6,0) field each. A single
SELECT of any of them results in TIntegerField objects. Now if I use a UNION
between both tables the field becomes a TFloatField.

My test case:
---
CREATE TABLE TEST_A (V NUMBER(6,0));
CREATE TABLE TEST_B (V NUMBER(6,0));

INSERT INTO TEST_A VALUES (123);
INSERT INTO TEST_B VALUES (456);

Assign the following SQL to a SQLDataSet and add all fields:
SELECT * FROM TEST_A UNION SELECT * FROM TEST_B;

Field 'V' becomes a TFloatField.
--

How can I solve that ? It's a Oracle issue, a DBX driver issue ou what ?

TIA.

---
Fabio Lindner