C type identifier |
ODBC C typedef |
C type |
SQL_C_CHAR |
SQLCHAR * |
unsigned char * |
SQL_C_SSHORT[j] |
SQLSMALLINT |
short int |
SQL_C_USHORT[j] |
SQLUSMALLINT |
unsigned short int |
SQL_C_SLONG[j] |
SQLINTEGER |
long int |
SQL_C_ULONG[j] |
SQLUINTEGER |
unsigned long int |
SQL_C_FLOAT |
SQLREAL |
float |
SQL_C_DOUBLE |
SQLDOUBLE, SQLFLOAT |
double |
SQL_C_BIT |
SQLCHAR |
unsigned char |
SQL_C_STINYINT[j] |
SQLSCHAR |
signed char |
SQL_C_UTINYINT[j] |
SQLCHAR |
unsigned char |
SQL_C_SBIGINT |
SQLBIGINT |
_int64[h] |
SQL_C_UBIGINT |
SQLUBIGINT |
unsigned _int64[h] |
SQL_C_BINARY |
SQLCHAR * |
unsigned char * |
SQL_C_BOOKMARK[i] |
BOOKMARK |
unsigned long int[d] |
SQL_C_VARBOOKMARK |
SQLCHAR * |
unsigned char * |
SQL_C_TYPE_DATE[c] |
SQL_DATE_STRUCT |
struct tagDATE_STRUCT {
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day; } DATE_STRUCT;[a] |
SQL_C_TYPE_TIME[c] |
SQL_TIME_STRUCT |
struct tagTIME_STRUCT {
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second; } TIME_STRUCT;[a] |
SQL_C_TYPE_TIMESTAMP[c] |
SQL_TIMESTAMP_STRUCT |
struct tagTIMESTAMP_STRUCT {
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
SQLUINTEGER fraction;[b] } TIMESTAMP_STRUCT;[a] |
SQL_C_NUMERIC |
SQL_NUMERIC_STRUCT |
struct tagSQL_NUMERIC_STRUCT {
SQLCHAR precision;
SQLSCHAR scale;
SQLCHAR sign[g];
SQLCHAR
val[SQL_MAX_NUMERIC_L EN];[e],
[f] } SQL_NUMERIC_STRUCT; |
SQL_C_GUID |
SQLGUID |
struct tagSQLGUID { DWORD Data1; WORD Data2; WORD Data3; BYTE
Data4[8]; } SQLGUID;[k] |
All C interval data types |
SQL_INTERVAL_STRUCT |
See the C Interval
Structure section, later in this appendix. |