Export (0) Print
Expand All

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

SQLSTATE

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.

Show:
© 2014 Microsoft