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.