Hi
I have a col defined as Number in oracle. When i import it in datastage, the datatype is decimal for that column.
First i want to know why this is done. and also, should i just leave it as decimal and perform my operations or change it to integer in the metadata after i import and then do the transformations.
importing metadata as decimal
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
It's done because Oracle is unusual - every other database has essentially compatible standards (SQL CAE Access Group standards). DataStage also complies with these standards, so has to translate where necessary.
Sometimes it doesn't get it right, but I blame Oracle for that. If you create a column in Oracle with INTEGER data type, it is actually created as NUMBER(38) even though the largest possible (32-bit) integer contains at most ten digits. When retrieved by DataStage, NUMBER(38) can not be interpreted as INTEGER without risk, so it's interpreted as DECIMAL(38,0). Which is wrong.
Sometimes it doesn't get it right, but I blame Oracle for that. If you create a column in Oracle with INTEGER data type, it is actually created as NUMBER(38) even though the largest possible (32-bit) integer contains at most ten digits. When retrieved by DataStage, NUMBER(38) can not be interpreted as INTEGER without risk, so it's interpreted as DECIMAL(38,0). Which is wrong.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.