Da C a SQL: intervalli anno-mese
Gli identificatori per i tipi di dati ODBC C intervallo di anno sono:
SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH
Nella tabella seguente vengono illustrati i tipi di dati SQL ODBC in cui è possibile convertire i dati C relativi all'intervallo di anno.The following table shows the ODBC SQL data types to which year-month interval C data may be convert. Per una spiegazione delle colonne e dei termini nella tabella, vedere Conversione di dati da C a tipi di dati SQL.
Identificatore del tipo SQL | Test | SQLSTATE |
---|---|---|
SQL_CHAR[a] SQL_VARCHAR[a] SQL_LONGVARCHAR[a] |
Lunghezza >byte colonna = Lunghezza byte carattere Lunghezza byte di colonna < Lunghezza byte carattere[a] Il valore dei dati non è un valore letterale intervallo valido |
N/D 22001 22015 |
SQL_WCHAR[a] SQL_WVARCHAR[a] SQL_WLONGVARCHAR[a] |
Lunghezza >carattere colonna = Lunghezza carattere dei dati Lunghezza carattere colonna Lunghezza < carattere di dati[a] Il valore dei dati non è un valore letterale intervallo valido |
N/D 22001 22015 |
SQL_TINYINT[b] SQL_SMALLINT[b] SQL_INTEGER[b] SQL_BIGINT[b] SQL_NUMERIC[b] SQL_DECIMAL[b] |
La conversione di un intervallo a campo singolo non ha comportato il troncamento di intere cifre La conversione ha comportato il troncamento di intere cifre |
N/D 22003 |
SQL_INTERVAL_MONTH SQL_INTERVAL_YEAR SQL_INTERVAL_YEAR_TO_MONTH |
Il valore dei dati è stato convertito senza troncamento di alcun campo Uno o più campi del valore di dati sono stati troncati durante la conversione |
N/D 22015 |
[a] Tutti i tipi di dati intervallo C possono essere convertiti in un tipo di dati carattere.
[b] Se il campo di tipo nella struttura dell'intervallo è tale che l'intervallo sia un singolo campo (SQL_YEAR o SQL_MONTH), il tipo C intervallo può essere convertito in qualsiasi valore numerico esatto (SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_DECIMAL o SQL_NUMERIC).
La conversione predefinita di un tipo interval C è nel tipo SQL intervallo di anno/mese corrispondente.
Il driver ignora il valore di lunghezza/indicatore durante la conversione dei dati dal tipo di dati interval C e presuppone che le dimensioni del buffer di dati siano le dimensioni del tipo di dati interval C. Il valore di lunghezza/indicatore viene passato nell'argomento StrLen_or_Ind in SQLPutData e nel buffer specificato con l'argomento StrLen_or_IndPtr in SQLBindParameter. Il buffer di dati viene specificato con l'argomento DataPtr in SQLPutData e l'argomento ParameterValuePtr in SQLBindParameter.