次の方法で共有


C から SQL へ: Date

日付 ODBC C データ型の識別子は次のとおりです。

SQL_C_TYPE_DATE

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

SQL 型識別子 テスト SQLSTATE
SQL_CHAR

SQL_VARCHAR

SQL_LONGVARCHAR
列のバイト長 >= 10

列バイト長 < 10

データ値が有効な日付ではありません
該当なし

22001

22008
SQL_WCHAR

SQL_WVARCHAR

SQL_WLONGVARCHAR
列の文字長 >= 10

列文字の長さ < 10

データ値が有効な日付ではありません
該当なし

22001

22008
SQL_TYPE_DATE データ値が有効な日付である

データ値が有効な日付ではありません
該当なし

22007
SQL_TYPE_TIMESTAMP データ値は有効な日付です[a]

データ値が有効な日付ではありません
該当なし

22007

[a] タイムスタンプの時刻部分は 0 に設定されます。

SQL_C_TYPE_DATE構造体で有効な値の詳細については、この付録の「 C データ型」を参照してください。

日付 C データが文字 SQL データに変換されると、結果の文字データは "yyyy-mm-dd" 形式になります。

ドライバーは、日付 C データ型からデータを変換するときに長さ/インジケーター値を無視し、データ バッファーのサイズが日付 C データ型のサイズであると想定します。 長さ/インジケーター値は、SQLPutDataStrLen_or_Ind 引数と、SQLBindParameterStrLen_or_IndPtr 引数で指定されたバッファーに渡されます。 データ バッファーは、SQLPutDataDataPtr 引数と SQLBindParameterParameterValuePtr 引数で指定されます。