Programmer Guide : Data types : C to SQL data conversion examples
  
C to SQL data conversion examples
The following examples illustrate how the driver converts C data to SQL data.
C data type
C data value
SQL data type
Column length
SQL data value
SQLSTATE
SQL_C_CHAR
abcdef\0 [1]
SQL_CHAR
6
abcdef
N/A
SQL_C_CHAR
abcdef\0 [1]
SQL_CHAR
5
abcde
22001
SQL_C_CHAR
1234.56\0 [1]
SQL_DECIMAL
8 [2]
1234.56
N/A
SQL_C_CHAR
1234.56\0 [1]
SQL_DECIMAL
7 [2]
1234.5
22001
SQL_C_CHAR
1234.56\0 [1]
SQL_DECIMAL
4
----
22003
SQL_C_FLOAT
1234.56
SQL_FLOAT
not applicable
1234.56
N/A
SQL_C_FLOAT
1234.56
SQL_INTEGER
not applicable
1234
22001
SQL_C_FLOAT
1234.56
SQL_TINYINT
not applicable
----
22003
SQL_C_TYPE_DATE
1992,12,31 [3]
SQL_CHAR
10
1992-12-31
N/A
SQL_C_TYPE_DATE
1992,12,31 [3]
SQL_CHAR
9
----
22003
SQL_C_TYPE_DATE
1992,12,31 [3]
SQL_TIMESTAMP
not applicable
1992-12-31 00:00:00.0
N/A
SQL_C_TYPE TIMESTAMP
1992,12,31, 23,45,55, 120000000 [4]
SQL_CHAR
22
1992-12-31 23:45:55.12
N/A
SQL_C_TYPE TIMESTAMP
1992,12,31, 23,45,55, 120000000 [4]
SQL_CHAR
21
1992-12-31 23:45:55.1
22001
SQL_C_TYPE TIMESTAMP
1992,12,31, 23,45,55, 120000000 [4]
SQL_CHAR
18
----
22003
[1] "\0" represents a null-termination byte. The null-termination byte is required only if the length of the data is SQL_NTS.
[2] In addition to bytes for numbers, one byte is required for a sign and another byte is required for the decimal point.
[3] The numbers in this list are the numbers stored in the fields of the SQL_DATE_STRUCT structure.
[4] The numbers in this list are the numbers stored in the fields of the SQL_TIMESTAMP_STRUCT structure.
See also
Data types