C 到 SQL:年月間隔
年月間隔 ODBC C 資料類型的識別碼如下:
SQL_C_INTERVAL_MONTH SQL_C_INTERVAL_YEAR SQL_C_INTERVAL_YEAR_TO_MONTH
下表顯示可轉換年月間隔 C 資料的 ODBC SQL 資料類型。 如需資料表中資料行和詞彙的說明,請參閱 將資料從 C 轉換成 SQL 資料類型 。
SQL 類型識別碼 | 測試 | SQLSTATE |
---|---|---|
SQL_CHAR[a] SQL_VARCHAR[a] SQL_LONGVARCHAR[a] |
資料行位元組長度 > = 字元位元組長度 資料行位元組長度 < 字元位元組長度[a] 資料值不是有效的間隔常值 |
n/a 22001 22015 |
SQL_WCHAR[a] SQL_WVARCHAR[a] SQL_WLONGVARCHAR[a] |
資料行字元長度 > = 資料的字元長度 資料行字元長度 < 資料字元長度[a] 資料值不是有效的間隔常值 |
n/a 22001 22015 |
SQL_TINYINT[b] SQL_SMALLINT[b] SQL_INTEGER[b] SQL_BIGINT[b] SQL_NUMERIC[b] SQL_DECIMAL[b] |
單一欄位間隔的轉換不會導致截斷整個數位 轉換導致截斷整個數位 |
n/a 22003 |
SQL_INTERVAL_MONTH SQL_INTERVAL_YEAR SQL_INTERVAL_YEAR_TO_MONTH |
資料值已轉換,而不會截斷任何欄位 轉換期間截斷了一或多個資料值欄位 |
n/a 22015 |
[a] 所有 C 間隔資料類型都可以轉換成字元資料類型。
[b] 如果間隔結構中的類型欄位使間隔是單一欄位(SQL_YEAR或SQL_MONTH),則間隔 C 類型可以轉換成任何確切的數位(SQL_TINYINT、SQL_SMALLINT、SQL_INTEGER、SQL_BIGINT、SQL_DECIMAL或SQL_NUMERIC)。
間隔 C 類型的預設轉換是對應年月間隔 SQL 類型。
驅動程式會忽略從間隔 C 資料類型轉換資料時的長度/指標值,並假設資料緩衝區的大小是間隔 C 資料類型的大小。 長度/指標值會在 SQLPutData 中的 StrLen_or_Ind 引數和 SQLBindParameter 中以 StrLen_or_IndPtr 引數 指定的 緩衝區中傳遞 。 資料緩衝區是以 SQLPutData 中的 DataPtr 引數和 SQLBindParameter 中的 ParameterValuePtr 引數來指定 。