Contents|Index|Previous|Next

C to SQL Data Conversion Examples

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


C type identifier

C data value

SQL type identifier
Column
length
SQL data
value
SQL-
STATE



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



SQL_C_CHAR
abcdef\0 [a]
SQL_CHAR
5
abcde
22001



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



SQL_C_CHAR
1234.56\0 [a]
SQL_DECIMAL
7 [b]
1234.5
22001



SQL_C_CHAR
1234.56\0 [a]
SQL_DECIMAL
4
----
22003



SQL_C_FLOAT
1234.56
SQL_FLOAT
n/a
1234.56
n/a



SQL_C_FLOAT
1234.56
SQL_INTEGER
n/a
1234
22001



SQL_C_FLOAT
1234.56
SQL_TINYINT
n/a
----
22003



SQL_C_TYPE_DATE
1992,12,31 [c]
SQL_CHAR
10
1992-12-31
n/a



SQL_C_TYPE_DATE
1992,12,31 [c]
SQL_CHAR
9
----
22003



SQL_C_TYPE_DATE
1992,12,31 [c]
SQL_TIMESTAMP
not applicable
1992-12-31 00:00:00.0
n/a



SQL_C_TYPE_
TIMESTAMP
1992,12,31,
23,45,55,
120000000 [d]
SQL_CHAR
22
1992-12-31 23:45:55.12
n/a



SQL_C_TYPE_
TIMESTAMP
1992,12,31,
23,45,55,
120000000 [d]
SQL_CHAR
21
1992-12-31 23:45:55.1
22001



SQL_C_TYPE_
TIMESTAMP
1992,12,31,
23,45,55,
120000000 [d]
SQL_CHAR
18
----
22003



[a] \0 represents a null-termination byte. The null-termination byte is required only if the length of the data is SQL_NTS.
[b] In addition to bytes for numbers, one byte is required for a sign and another byte is required for the decimal point.
[c] The numbers in this list are the numbers stored in the fields of the SQL_DATE_STRUCT structure.
[d] The numbers in this list are the numbers stored in the fields of the SQL_TIMESTAMP_STRUCT structure.