次の方法で共有


SQL から C へ: 時刻

時刻 ODBC SQL データ型の識別子は次のとおりです。

SQL_TYPE_TIME

次の表に、SQL データの変換先となる ODBC C データ型を示します。 表の列と用語の説明については、「SQL から C データ型へのデータの変換」を参照してください

C 型識別子 テスト *TargetValuePtr *StrLen_or_IndPtr SQLSTATE
SQL_C_CHAR BufferLength> 文字のバイト長

9<= BufferLength<= 文字バイト長

BufferLength< 9
データ​​

切り捨てられたデータ[a]

Undefined
データの長さ (バイト単位)

データの長さ (バイト単位)

Undefined
該当なし

01004

22003
SQL_C_WCHAR BufferLength> 文字の長さ

9<= BufferLength<= 文字の長さ

BufferLength< 9
データ​​

切り捨てられたデータ[a]

Undefined
文字単位のデータの長さ

文字単位のデータの長さ

Undefined
該当なし

01004

22003
SQL_C_BINARY データ <のバイト長 = BufferLength

データ >BufferLength のバイト長
データ​​

Undefined
データの長さ (バイト単位)

Undefined
該当なし

22003
SQL_C_TYPE_TIME None[b] データ​​ 6[d] 該当なし
SQL_C_TYPE_TIMESTAMP None[b] Data[c] 16[d] 該当なし

[a] 時間の秒の小数部は切り捨てられます。

[b] この変換では BufferLength の値は無視されます。 ドライバーは、*TargetValuePtr のサイズが C データ型のサイズであることを前提としています。

[c] タイムスタンプ構造体の日付フィールドは現在の日付に設定され、タイムスタンプ構造体の秒の小数部フィールドは 0 に設定されます。

[d] これは、対応する C データ型のサイズです。

時刻 SQL データが文字 C データに変換されると、結果の文字列は "hh:mm:ss" 形式になります。 この形式は、Windows の国/地域の設定の影響を受けません。