Archives of the TeradataForum
Message Posted: Fri, 04 Feb 2005 @ 13:59:49 GMT
Subj: | | Re: Workarounds for Decimal18+ |
|
From: | | Geoffrey Rommel |
| If you mean 18 digits before the decimal AND 7 after (We would refer to it as Decimal(25,7)) then you are correct that it can not be
represented in a Teradata data type. | |
If you do need decimal(25,7), one possibility is to store the number in two separate columns and do the "math" yourself. For instance,
you might have two columns like this:
sales_integer_part decimal(18,0)
sales_fractional_part decimal(7,0)
or maybe
sales_part_1 decimal(13,0)
sales_part_2 decimal(12,7)
To print it, you would do something like this (untested):
sales_integer_part (format 'Z(18)9.') || sales_fractional_part (format '9(7)')
To add or subtract, you would have to add part_2, carry, and add part_1. A UDF would make this *relatively* easy to do.
Multiplication and division are left as an exercise for the reader. ;-)
|