C en SQL : Intervalles d’années-mois
Les identificateurs des types de données ODBC C de l’intervalle d’un mois sont les suivants :
SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH
Le tableau suivant montre les types de données ODBC SQL vers lesquels les données C d’intervalle d’année-mois peuvent être converties. Pour obtenir une explication des colonnes et des termes de la table, consultez Conversion de données de C en types de données SQL.
Identificateur de type SQL | Test | SQLSTATE |
---|---|---|
SQL_CHAR[a] SQL_VARCHAR[a] SQL_LONGVARCHAR[a] |
Longueur d’octet de >colonne = Longueur d’octet de caractère Longueur d’octet < de colonne Longueur d’octet du caractère[a] La valeur de données n’est pas un littéral d’intervalle valide |
n/a 22001 22015 |
SQL_WCHAR[a] SQL_WVARCHAR[a] SQL_WLONGVARCHAR[a] |
Longueur des caractères de >colonne = Longueur des caractères des données Longueur des caractères < de colonne Longueur du caractère des données[a] La valeur de données n’est pas un littéral d’intervalle valide |
n/a 22001 22015 |
SQL_TINYINT[b] SQL_SMALLINT[b] SQL_INTEGER[b] SQL_BIGINT[b] SQL_NUMERIC[b] SQL_DECIMAL[b] |
La conversion d’un intervalle à champ unique n’a pas entraîné la troncation de chiffres entiers La conversion a entraîné la troncation de chiffres entiers |
n/a 22003 |
SQL_INTERVAL_MONTH SQL_INTERVAL_YEAR SQL_INTERVAL_YEAR_TO_MONTH |
La valeur des données a été convertie sans troncation des champs Un ou plusieurs champs de valeur de données ont été tronqués pendant la conversion |
n/a 22015 |
[a] Tous les types de données d’intervalle C peuvent être convertis en type de données caractère.
[b] Si le champ de type dans la structure d’intervalles est tel que l’intervalle est un champ unique (SQL_YEAR ou SQL_MONTH), le type C d’intervalle peut être converti en n’importe quel numérique exact (SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_DECIMAL ou SQL_NUMERIC).
La conversion par défaut d’un type C d’intervalle est en type SQL d’intervalle année-mois correspondant.
Le pilote ignore la valeur de longueur/d’indicateur lors de la conversion des données du type de données interval C et suppose que la taille de la mémoire tampon de données correspond à la taille du type de données interval C. La valeur length/indicator est transmise dans l’argument StrLen_or_Ind dans SQLPutData et dans la mémoire tampon spécifiée avec l’argument StrLen_or_IndPtr dans SQLBindParameter. La mémoire tampon de données est spécifiée avec l’argument DataPtr dans SQLPutData et l’argument ParameterValuePtr dans SQLBindParameter.