Informix data type mapping and issues
The NCHAR and NVARCHAR data types are not supported.
If a query contains a CASE statement that returns a string, Informix pads the string with spaces so that its length matches the length of the longest string in the CASE statement. For example, the following CASE statement returns 'O  ' (O followed by two spaces), not 'O'. The string length matches the length of the longest string in the CASE statement, 'N/A':
SELECT
CASE ORDERS.status
WHEN 'Open' Then 'O'
WHEN 'Closed' Then 'C'
WHEN 'In Evaluation' Then 'E'
ELSE 'N/A'
END
AS "Short Status", ORDERS.orderid, ORDERS.custid,
ITEMS.quantity
FROM "../Data Sources/MyDatabase/ORDERS.sma" ORDERS
INNER JOIN "../Data Sources/MyDatabase/ITEMS.sma" ITEMS
ON ORDERS.orderid = ITEMS.orderid
WHERE ORDERS.orderid < 1120 OR ORDERS.orderid > 2000
Table 7‑2 shows how Informix data types map to Actuate SQL data types.
Table 7‑2 Mapping of Informix data types to Actuate SQL data types
Informix
data type
Actuate SQL data type
Compiled to Informix data type
Informix data type limitations
CHAR
VARCHAR
VARCHAR
Informix VARCHAR has a maximum length of 254 characters.
CHARACTER VARYING
VARCHAR
VARCHAR
Informix VARCHAR has a maximum length of 254 characters.
DATE
TIMESTAMP
DATETIME
 
DATETIME
TIMESTAMP
DATETIME
 
DECIMAL
DECIMAL
DECIMAL
The maximum number of significant digits (precision) for Informix DECIMAL is 32.
FLOAT
DOUBLE
FLOAT
Informix FLOAT is 4-byte, not 8‑byte, floating point. The maximum number of significant digits (precision) is 16.
INT8
DECIMAL
DECIMAL
The maximum number of significant digits (precision) for Informix DECIMAL is 32.
INTEGER
INTEGER
INTEGER
 
MONEY
DECIMAL
DECIMAL
The maximum number of significant digits (precision) for Informix DECIMAL is 32.
SMALLFLOAT
DOUBLE
FLOAT
Informix FLOAT is 4-byte, not 8‑byte, floating point. The maximum number of significant digits (precision) is 16.
SMALLINT
INTEGER
INTEGER
 
VARCHAR
VARCHAR
VARCHAR
Informix VARCHAR has a maximum length of 254 characters.