Contents|Index|Previous|Next

SQL to C Data Conversion Examples

The examples shown in the following table illustrate how the driver converts SQL data to C data:

SQL type identifier
SQL data
value

C type identifier
Buffer
length

*TargetValuePtr
SQL-
STATE



SQL_CHAR
abcdef
SQL_C_CHAR
7
abcdef\0 [a]
n/a



SQL_CHAR
abcdef
SQL_C_CHAR
6
abcde\0 [a]
01004



SQL_DECIMAL
1234.56
SQL_C_CHAR
8
1234.56\0 [a]
n/a



SQL_DECIMAL
1234.56
SQL_C_CHAR
5
1234\0 [a]
01004



SQL_DECIMAL
1234.56
SQL_C_CHAR
4
----
22003



SQL_DECIMAL
1234.56
SQL_C_FLOAT
ignored
1234.56
n/a



SQL_DECIMAL
1234.56
SQL_C_SSHORT
ignored
1234
01S07



SQL_DECIMAL
1234.56
SQL_C_STINYINT
ignored
----
22003



SQL_DOUBLE
1.2345678
SQL_C_DOUBLE
ignored
1.2345678
n/a



SQL_DOUBLE
1.2345678
SQL_C_FLOAT
ignored
1.234567
n/a



SQL_DOUBLE
1.2345678
SQL_C_STINYINT
ignored
1
n/a



SQL_TYPE_DATE
1992-12-31
SQL_C_CHAR
11
1992-12-31\0 [a]
n/a



SQL_TYPE_DATE
1992-12-31
SQL_C_CHAR
10
-----
22003



SQL_TYPE_DATE
1992-12-31
SQL_C_TIMESTAMP
ignored
1992,12,31,
0,0,0,0 [b]
n/a



SQL_TYPE_
TIMESTAMP
1992-12-31
23:45:55.12
SQL_C_CHAR
23
1992-12-31
23:45:55.12\0 [a]
n/a



SQL_TYPE_
TIMESTAMP
1992-12-31
23:45:55.12
SQL_C_CHAR
22
1992-12-31
23:45:55.1\0 [a]
01004



SQL_TYPE_
TIMESTAMP
1992-12-31
23:45:55.12
SQL_C_CHAR
18
----
22003



[a] \0 represents a null-termination byte. The driver always null-terminates SQL_C_CHAR data.
[b] The numbers in this list are the numbers stored in the fields of the TIMESTAMP_STRUCT structure.