Compartilhar via


Exemplos de conversão de dados de SQL para C

Os exemplos mostrados na tabela a seguir ilustram como o driver converte dados SQL em dados C:

Tipo SQL

identificador
Dados SQL

value
Tipo de C

identificador
Buffer

comprimento
*TargetValuePtr SQLSTATE
SQL_CHAR abcdef SQL_C_CHAR 7 abcdef\0[a] n/d
SQL_CHAR abcdef SQL_C_CHAR 6 abcde\0[a] 01004
SQL_DECIMAL 1234.56 SQL_C_CHAR 8 1234.56\0[a] n/d
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 ignorado 1234.56 n/d
SQL_DECIMAL 1234.56 SQL_C_SSHORT ignorado 1234 01S07
SQL_DECIMAL 1234.56 SQL_C_STINYINT ignorado ---- 22003
SQL_DOUBLE 1.2345678 SQL_C_DOUBLE ignorado 1.2345678 n/d
SQL_DOUBLE 1.2345678 SQL_C_FLOAT ignorado 1.234567 n/d
SQL_DOUBLE 1.2345678 SQL_C_STINYINT ignorado 1 n/d
SQL_TYPE_DATE 1992-12-31 SQL_C_CHAR 11 1992-12-31\0[a] n/d
SQL_TYPE_DATE 1992-12-31 SQL_C_CHAR 10 ----- 22003
SQL_TYPE_DATE 1992-12-31 SQL_C_TIMESTAMP ignorado 1992,12,31, 0,0,0,0[b] n/d
SQL_TYPE_TIMESTAMP 1992-12-31 23:45:55.12 SQL_C_CHAR 23 1992-12-31 23:45:55.12\0[a] n/d
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" representa um byte de terminação nula. O driver sempre termina nulo SQL_C_CHAR dados.

[b] Os números nesta lista são os números armazenados nos campos da estrutura TIMESTAMP_STRUCT.