Data types
- Last Updated: May 12, 2026
- 2 minute read
- OpenAccess SDK
- Version 8.1
- Documentation
The following table provides the corresponding C data types for the OpenAccess SDK SQL engine data types.
SQL Engine Data Types and the Corresponding C Types
| SQL Type | Data Type - use with API calls | C/C++ Data Type |
| BIGINT | XO_TYPE_BIGINT | int64 |
| BINARY VARBINARY LONGVARBINARY |
XO_TYPE_BINARY XO_TYPE_VARBINARY XO_TYPE_LONGVARBINARY |
void * - sequence of bytes |
| BIT | XO_TYPE_BIT | char |
| CHAR VARCHAR LONGVARCHAR |
XO_TYPE_CHARXO_TYPE_VARCHARXO_TYPE_LONGVARCHAR | char * - string of characters |
| DATE | XO_TYPE_DATE | Note: xo_tm is not the same as the ANSI C tm structure. xo_tm members for XO_TYPE_DATE: int tm_mday: day of the month - [1,31] int tm_mon: months since January - [0,11] int tm_year: years after 0 A.D or C.E |
| DOUBLE | XO_TYPE_DOUBLE | double |
| FLOAT | XO_TYPE_FLOAT | double |
| INTEGER | XO_TYPE_INTEGER | long |
| NUMERIC | XO_TYPE_NUMERIC | char * - a string with a decimal point. It does not have to be padded for exact precision and scale specifications. Use "." as the decimal separator regardless of the locale. |
| REAL | XO_TYPE_REAL | float |
| SMALLINT | XO_TYPE_SMALLINT | short int |
| TINYINT | XO_TYPE_TINYINT | unsigned char |
| TIME | XO_TYPE_TIME | Note: xo_tm is not the same as the ANSI C tm structure. xo_tm members for XO_TYPE_TIME: int tm_sec: seconds after the minute - [0,59] int tm_min: minutes after the hour - [0,59] int tm_hour: hours since midnight - [0,23] |
| TIMESTAMP | XO_TYPE_TIMESTAMP | Note: xo_tm is not the same as the ANSI C tm structure. xo_tm members for XO_TYPE_TIMESTAMP: int tm_sec: seconds after the minute - [0,59] int tm_min: minutes after the hour - [0,59] int tm_hour: hours since midnight - [0,23] int tm_mday: day of the month - [1,31] int tm_mon: months since January - [0,11] int tm_year: years after 0 A.D or C.E. int tm_frac: billionths of a second and ranges from 0 to 999999999. If your column has a scale of 3 (thousands of a second format), to return 0.005, set the tm_frac=5000000 |
| VARIANT | XO_TYPE_VARIANT | N/A. |
| WCHAR WVARCHAR WLONGVARCHAR |
XO_TYPE_WCHARXO_TYPE_WVARCHARXO_TYPE_WLONGVARCHAR | OAWCHAR * - string of Unicode characters. On Windows, OAWCHAR * is the same as wchar_t *. |