FLOAT Datatype; Minimum Value?

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
wwalker
Premium Member
Premium Member
Posts: 40
Joined: Thu Mar 30, 2006 6:30 am
Location: Near Geneva, Switzerland
Contact:

FLOAT Datatype; Minimum Value?

Post by wwalker »

Hello,

I am populating a financial application, that requires a high degree of accuracy for obvious reasons...

I have a required field of Float datatype, that has some data quality issues at the source, in that the source value is coming as a zero...however, zero is not an acceptable value for the application.

I have tried replacing zero with "0.00000001" or 0.99E-99, but DataStage seems to reset the value to 0 again. I have tested my (simple) expression with other values (such as "9999999999" for a test), and it works correctly...

NOTE ...I misquoted the number I used...it was "0.00000000000000000001" and this reverts to 0

Any ideas? What IS the minimum value that can be populated to a FLOAT datatype without being defaulted back to zero? This seems like strange behaviour....

Thanks

W
Last edited by wwalker on Thu Jul 27, 2006 7:14 am, edited 2 times in total.
Wade Walker
loveojha2
Participant
Posts: 362
Joined: Thu May 26, 2005 12:59 am

Post by loveojha2 »

Which is your database?

I tried with Sql Server with the value

Code: Select all

.0000000000000000001
I got
1.0000000000000001E-19
in the table.

The datatype of the column is float.
Success consists of getting up just one more time than you fall.
wwalker
Premium Member
Premium Member
Posts: 40
Joined: Thu Mar 30, 2006 6:30 am
Location: Near Geneva, Switzerland
Contact:

Post by wwalker »

the DB is Oracle
Wade Walker
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Maximum precision of numeric data within DataStage server jobs is, by default, 15 significant digits. This default can be overridden with the EXACTNUMERIC configuration parameter in uvconfig.

The PRECISION statement in BASIC affects the maximum number of digits that will appear to the right of the decimal place when a numeric item of data is prepared for presentation (converted to string).
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
ds_developer
Premium Member
Premium Member
Posts: 224
Joined: Tue Sep 24, 2002 7:32 am
Location: Denver, CO USA

Post by ds_developer »

I believe you are hitting the setting called EXACTNUMERIC. It is in the uvconfig file. The default is 15 and I would not recommend changing it. The comment in the uvconfig file says "Specifies the number of digits of precision before rounding occurs".

Try using a value that is shorter than your exact_numeric setting, like 0.0001.

John
Post Reply