C 到 SQL:時間戳記

時間戳記 ODBC C 資料類型的識別碼為:

SQL_C_TYPE_TIMESTAMP

下表顯示可以轉換時間戳記 C 資料的 ODBC SQL 資料類型。 如需資料表中資料行和詞彙的說明,請參閱 將資料從 C 轉換成 SQL 資料類型

SQL 類型識別碼 測試 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 引數來指定