SQL to C Data Conversion Examples
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. |
|
|
|
|
|