C 到 SQL:時間戳記
時間戳 ODBC C 資料類型的識別碼為:
SQL_C_TYPE_TIMESTAMP
下表顯示可以轉換時間戳 C 資料的 ODBC SQL 資料類型。 如需數據表中數據行和詞彙的說明,請參閱 將數據從 C 轉換成 SQL 數據類型。
SQL 類型識別碼 | Test | SQLSTATE |
---|---|---|
SQL_CHAR SQL_VARCHAR SQL_LONGVARCHAR |
數據行位元組長度 >= 字元位元組長度 19 <= 資料行位元組長度 < 位元元組長度 數據行位元組長度 < 19 數據值不是有效的時間戳 |
n/a 22001 22001 22008 |
SQL_WCHAR SQL_WVARCHAR SQL_WLONGVARCHAR |
資料行字元長度 >= 資料的字元長度 19 <= 資料行字元長度 < 數據字元長度 欄字元長度 < 19 數據值不是有效的時間戳 |
n/a 22001 22001 22008 |
SQL_TYPE_DATE | 時間欄位為零 時間欄位為非零 數據值不包含有效的日期 |
n/a 22008 22007 |
SQL_TYPE_TIME | 小數秒欄位為零[a] 小數秒欄位為非零[a] 數據值不包含有效的時間 |
n/a 22008 22007 |
SQL_TYPE_TIMESTAMP | 小數秒欄位不會截斷 小數秒欄位被截斷 數據值不是有效的時間戳 |
n/a 22008 22007 |
[a] 會忽略時間戳結構的日期欄位。
如需SQL_C_TIMESTAMP結構中哪些值有效的資訊,請參閱 本附錄稍早的 C 數據類型。
當時間戳 C 數據轉換成字元 SQL 數據時,產生的字元數據會位於 「yyyy-mm dd hh:mm-:ss[。f...]“ 格式。
驅動程式會忽略從時間戳 C 資料類型轉換資料時的長度/指標值,並假設數據緩衝區的大小是時間戳 C 資料類型的大小。 長度/指標值會在 SQLPutData 中的 StrLen_or_Ind 自變數和 SQLBindParameter 中以 StrLen_or_IndPtr 自變數指定的緩衝區中傳遞。 數據緩衝區是以 SQLPutData 中的 DataPtr 自變數和 SQLBindParameter 中的 ParameterValuePtr 自變數來指定。