分享方式:


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 自變數來指定