Share via


Exemples de conversion de données C en SQL

Les exemples suivants illustrent comment le pilote convertit des données C en données SQL :

Identificateur de type C Valeur de données C Type SQL

identificateur
Colonne

length
Données SQL

valeur
SQLSTATE
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 n/a 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 » représente un octet de terminaison Null. L’octet de terminaison Null n’est requis que si la longueur des données est SQL_NTS.

[b] En plus des octets pour les nombres, un octet est requis pour un signe et un autre octet est requis pour la virgule décimale.

[c] Les nombres de cette liste sont les nombres stockés dans les champs de la structure SQL_DATE_STRUCT.

[d] Les nombres de cette liste sont les nombres stockés dans les champs de la structure SQL_TIMESTAMP_STRUCT.