Numeric data types
Informix®
Informix supports several data types to store numbers:
Informix data type | Description |
---|---|
SMALLINT |
16 bit signed integer |
INTEGER |
32 bit signed integer |
BIGINT |
64 bit signed integer |
INT8 |
64 bit signed integer (replaced by
BIGINT ) |
DECIMAL |
Equivalent to DECIMAL(16) |
DECIMAL(p) |
Floating-point decimal number (max precision is 32) |
DECIMAL(p,s) |
Fixed-point decimal number (max precision is 32) |
MONEY |
Equivalent to DECIMAL(16,2) |
MONEY(p) |
Equivalent to DECIMAL(p,2) (max precision is
32) |
MONEY(p,s) |
Equivalent to DECIMAL(p,s) (max precision is
32) |
REAL / SMALLFLOAT |
32-bit floating point decimal (C float) |
DOUBLE PRECISION / FLOAT[(n)] |
64-bit floating point decimal (C double) |
SAP HANA®
SAP HANA supports the following numeric data types:
SAP HANA data type | Description |
---|---|
TINYINT |
8 bit unsigned integer (0 to 255) |
SMALLINT |
16 bit signed integer (-32,768 to 32,767) |
INTEGER |
32 bit signed integer (-2,147,483,648 to 2,147,483,647) |
BIGINT |
64 bit signed integer (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807) |
DECIMAL(p,s) |
Fixed point decimal (max p is 38) |
DECIMAL(p) |
Floating point decimal (approximative) |
DECIMAL |
Floating point decimal (approximative) |
SMALLDECIMAL |
Floating point decimal (approximative) |
REAL |
32-bit floating point decimal (C float) |
FLOAT[(n)] (DOUBLE) |
64-bit floating point decimal (C double) |
Solution
Informix data type | SAP HANA equivalent |
---|---|
SMALLINT |
SMALLINT |
INTEGER |
INTEGER |
INT8 / BIGINT |
BIGINT |
DECIMAL(p,s) |
DECIMAL(p,s) |
DECIMAL(p<=16) |
DECIMAL(p*2,p) |
DECIMAL(p>16) |
N/A |
DECIMAL |
DECIMAL(32,16) |
MONEY |
DECIMAL(16,2) |
MONEY(p) |
DECIMAL(p,2) |
MONEY(p,s) |
DECIMAL(p,s) |
SMALLFLOAT |
REAL |
FLOAT[(n)] |
DOUBLE |
SQL scripts to create databases must be converted manually. Tables created from BDL programs do
not have to be converted; the database interface detects the MONEY
data type and
uses the DECIMAL
type for SAP HANA.
Important:
There is no SAP HANA equivalent for the Informix DECIMAL(p)
floating point decimal
(i.e. without a scale). If your application is using such data types, you must review the database
schema in order to use SAP HANA compatible types.
The numeric types translation can be
controlled with the following FGLPROFILE
entries:
dbi.database.dsname.ifxemul.datatype.smallint = {
true |
false }
dbi.database.dsname.ifxemul.datatype.integer = {
true |
false }
dbi.database.dsname.ifxemul.datatype.bigint = {
true |
false }
dbi.database.dsname.ifxemul.datatype.int8 = {
true |
false }
dbi.database.dsname.ifxemul.datatype.decimal = {
true |
false }
dbi.database.dsname.ifxemul.datatype.money = {
true |
false }
dbi.database.dsname.ifxemul.datatype.float = {
true |
false }
dbi.database.dsname.ifxemul.datatype.smallfloat = {
true |
false }
For more details see IBM Informix emulation parameters in FGLPROFILE.