Partager via


SQL à C : Intervalles d’années-mois

Les identificateurs des types de données SQL ODBC d’intervalles d’année-mois sont les suivants :

  • SQL_INTERVAL_MONTH
  • SQL_INTERVAL_YEAR
  • SQL_INTERVAL_YEAR_TO_MONTH

Le tableau suivant montre les types de données ODBC C dans lesquels les données SQL d’intervalles d’année-mois peuvent être converties. Pour obtenir une explication des colonnes et des termes de la table, consultez Conversion de données sql en types de données C.

Identificateur de type C Test TargetValuePtr StrLen_or_IndPtr SQLSTATE
SQL_C_INTERVAL_MONTH[a]

SQL_C_INTERVAL_YEAR[a]

SQL_C_INTERVAL_YEAR_TO_MONTH[a]
Partie des champs de fin non tronquée

Partie tronquée des champs de fin

La précision de pointe de la cible n’est pas assez grande pour contenir des données provenant de la source
Données

Données tronquées

Indéfini
Longueur des données en octets

Longueur des données en octets

Indéfini
n/a

01S07

22015
SQL_C_STINYINT[b]

SQL_C_UTINYINT[b]

SQL_C_USHORT[b]

SQL_C_SHORT[b]

SQL_C_SLONG[b]

SQL_C_ULONG[b]

SQL_C_NUMERIC[b]

SQL_C_BIGINT[b]
La précision d’intervalle était un champ unique et les données ont été converties sans troncation

La précision d’intervalle était un champ unique et tronqué

La précision d’intervalle n’était pas un seul champ
Données

Données tronquées

Indéfini
Taille du type de données C

Longueur des données en octets

Taille du type de données C
n/a

22003

22015
SQL_C_BINARY Longueur d’octet des données <= BufferLength

Longueur d’octet de la mémoire tampon des données >
Données

Indéfini
Longueur des données en octets

Indéfini
n/a

22003
SQL_C_CHAR Mémoire tampon de longueur <d’octet de caractère

Nombre de chiffres entiers (par opposition à des chiffres fractionnaires<) BufferLength

Nombre de chiffres entiers (par opposition à des chiffres fractionnaires >) = BufferLength
Données

Données tronquées

Indéfini
Taille du type de données C

Taille du type de données C

Indéfini
n/a

01004

22003
SQL_C_WCHAR Longueur de caractères <BufferLength

Nombre de chiffres entiers (par opposition à des chiffres fractionnaires<) BufferLength

Nombre de chiffres entiers (par opposition à des chiffres fractionnaires >) = BufferLength
Données

Données tronquées

Indéfini
Taille du type de données C

Taille du type de données C

Indéfini
n/a

01004

22003

[a] Un type SQL d’intervalle annuel-mois peut être converti en n’importe quel type D’intervalle annuel-mois C.

[b] Si la précision de l’intervalle est un seul champ (un champ DE TYPE ANNÉE ou MOIS), le type SQL d’intervalle peut être converti en n’importe quel type numérique exact (SQL_C_STINYINT, SQL_C_UTINYINT, SQL_C_USHORT, SQL_C_SHORT, SQL_C_SLONG, SQL_C_ULONG ou SQL_C_NUMERIC).

Conversions par défaut

La conversion par défaut d’un type SQL d’intervalle est le type de données d’intervalle C correspondant. L’application lie ensuite la colonne ou le paramètre (ou définit le champ SQL_DESC_DATA_PTR dans l’enregistrement approprié de l’ARD) pour qu’il pointe vers la structure SQL_INTERVAL_STRUCT initialisée (ou passe un pointeur vers la structure SQL_ INTERVAL_STRUCT en tant qu’argument TargetValuePtr dans un appel à SQLGetData).