之前做一個Informatica開發時,遇到一個問題。 當Informatica Session處理位元大於15的Decimal資料時,總會出現這樣的情況。
原資料:111 111 111 111 111 555
處理後: 111 111 111 111 111 000
自15位之後的數字都被截取為0,即丟失15位之後的精度。
處理方法,配置session,High Precision處打鉤即可:
If a session runs with high precision enabled, disabling high precision might improve session performance.
The Decimal datatype is a numeric datatype with a maximum precision of 28. To use a high precision Decimal datatype in a session, configure the Integration Service to recognize this datatype by selecting Enable High Precision in the session properties. However,
since reading and manipulating the high precision datatype slows the Integration Service, disable high precision to improve session performance.
When you disable high precision, the Integration Service converts data to a double. The Integration Service reads the Decimal row 3900058411382035317455530282 as 390005841138203 x 1013.