The data you enter into your Sybase IQ database will likely come from diverse sources. Not all of your data will match the Sybase IQ data types exactly. Some of it will need to be converted. Data is converted in two ways: explicitly and implicitly. For example, to insert CHAR data into an INT column you must convert it explicitly.
Implicit conversions can occur:
When you insert data selected from another column in the same database
When you insert data selected from another database
When you load data from a flat file
When an explicit conversion is needed, the way that you specify the conversion depends on whether you are loading from a flat file or inserting selected rows:
In the LOAD TABLE statement, you convert data explicitly by specifying a format in the column-spec.
In the INSERT statement, you convert data explicitly using the data conversion functions CAST, CONVERT, and DATEPART in the SELECT statement or VALUES list.
For information on implicit and explicit conversions between Sybase IQ data types, see the tables in the section “Data conversions in IQ”.
For information on conversions that occur if you are inserting from proxy tables, see Chapter 16, “Accessing Remote Data.”.
While most Sybase IQ data types are fully compatible with Adaptive Server Anywhere and Adaptive Server Enterprise data types of the same name, there are some differences. For details on compatibility, see “Matching Adaptive Server Enterprise data types”.
For compatibility among versions, a few data types have been defined as synonyms of other data types:
DECIMAL is a synonym for NUMERIC.
INTEGER is a synonym for INT.
DATETIME is a synonym for TIMESTAMP.
FLOAT (precision) is a synonym for REAL or DOUBLE, depending on the value of precision. For Adaptive Server Enterprise, REAL is used for precision less than or equal to 15, and DOUBLE for precision greater than 15. For Sybase IQ and Adaptive Server Anywhere, the cutoff is platform-dependent, but on all platforms the cutoff value is greater than 22.
MONEY is an Adaptive Server Enterprise-compatible synonym for NUMERIC(19,4), allowing NULL.
SMALLMONEY is an Adaptive Server Enterprise-compatible synonym for NUMERIC(10,4), allowing NULL.
You can use a synonym interchangeably with its standard data type. Data is stored internally as the standard data type, where synonyms exist. In error messages, the standard name appears in place of the synonym.
By default, Sybase IQ assumes that input data is binary (numeric data) and tries to insert it that way. However, this presumes that the input column length in bytes must match the destination column length in bytes. If not, the insert will fail or lead to unexpected results. For example, if you attempt to insert an input column with integer data of 4 bytes into a SMALLINT destination column, Adaptive Sever IQ loads only the first 2 bytes of that input column.