SQL から C へ: 日付
日付 ODBC SQL データ型の識別子は次のとおりです。
SQL_TYPE_DATE
次の表に、SQL データの変換先となる ODBC C データ型を示します。 表の列と用語の説明については、「SQL から C データ型へのデータの変換」を参照してください。
C 型識別子 | テスト | *TargetValuePtr | *StrLen_or_IndPtr | SQLSTATE |
---|---|---|---|---|
SQL_C_CHAR | BufferLength> 文字のバイト長 11 <= BufferLength<= 文字バイト長 BufferLength< 11 |
データ 切り捨てられたデータ Undefined |
10 データの長さ (バイト単位) Undefined |
該当なし 01004 22003 |
SQL_C_WCHAR | BufferLength> 文字の長さ 11 <= BufferLength<= 文字の長さ BufferLength< 11 |
データ 切り捨てられたデータ Undefined |
10 文字単位のデータの長さ Undefined |
該当なし 01004 22003 |
SQL_C_BINARY | データ <のバイト長 = BufferLength データ >BufferLength のバイト長 |
データ Undefined |
データの長さ (バイト単位) Undefined |
該当なし 22003 |
SQL_C_TYPE_DATE | None[a] | データ | 6[c] | 該当なし |
SQL_C_TYPE_TIMESTAMP | None[a] | Data[b] | 16[c] | 該当なし |
[a] この変換では BufferLength の値は無視されます。 ドライバーは、*TargetValuePtr のサイズが C データ型のサイズであることを前提としています。
[b] タイムスタンプ構造体の時刻フィールドは 0 に設定されます。
[c] これは、対応する C データ型のサイズです。
日付 SQL データを文字 C データに変換すると、結果の文字列は "yyyy-mm-dd" 形式になります。 この形式は、Windows の国/地域の設定の影響を受けません。