#docslug#/ecob/ecob/V1.1.0/data-type-conversion The ecob precompiler program uses host variables for external data types. When the ecob program reads data from OceanBase Database and writes it to C language variables or writes C language data to OceanBase Database, data conversion between the external and internal data types is involved.
Note
Errors may occur while converting data types. For example, when the VARCHAR2 internal data type is converted to the C language CHAR data type, a memory overflow or an invalid number error may occur.
The following table lists the conversion relationship between different data types. IN refers to the conversion from a C language data type to an internal data type of OceanBase Database, and OUT refers to the conversion from an internal data type to a C language data type. In the former case, data is written into OceanBase Database. In the latter case, data is read from it.
| varchar2/char | int | NUMBER | FLOAT | BINARY_FLOAT | BINARY_DOUBLE | Date | TIMESTAMP | |
|---|---|---|---|---|---|---|---|---|
| char/unsigned char | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | ||
| int/unsigned int | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | ||
| long/unsigned long | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | ||
| long long/unsigned long long | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | ||
| float | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | ||
| Double | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | ||
| char[n]/varchar[n]/char* | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN/OUT | IN |