#docslug#/ecob/ecob/V1.1.6/data-type-conversion
Overview
In OceanBase Embedded SQL in C (ECOB) programs, host variables use external data types. When an ECOB program reads data from OceanBase databases and writes the data to C language variables or writes C language data to OceanBase databases, data conversion between external and internal data types occurs.
Note
Errors may occur during data type conversion. For example, when the internal data type of VARCHAR2 is converted to the C language data type of CHAR, a memory overflow or an invalid number error may occur.
Parameters
The following table describes the mappings between different data types.
| 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 |
Note
IN indicates the conversion from a C language data type to an internal data type of OceanBase databases when data is written into OceanBase databases.
OUT indicates the conversion from an internal data type of OceanBase databases to a C language data type when data is read from OceanBase databases.