C から SQL へ: Time
時刻 ODBC C データ型の識別子は次のとおりです。
SQL_C_TYPE_TIME
次の表は、時刻 C データの変換先となる ODBC SQL データ型を示しています。 テーブル内の列と用語の詳細については、「 C から SQL データ型へのデータの変換」を参照してください。
SQL 型識別子 | テスト | SQLSTATE |
---|---|---|
SQL_CHAR SQL_VARCHAR SQL_LONGVARCHAR |
列のバイト長 >= 8 列バイト長 < 8 データ値が有効な時刻ではありません |
該当なし 22001 22008 |
SQL_WCHAR SQL_WVARCHAR SQL_WLONGVARCHAR |
列の文字長 >= 8 列文字の長さ < 8 データ値が有効な時刻ではありません |
該当なし 22001 22008 |
SQL_TYPE_TIME | データ値が有効な時刻です データ値が有効な時刻ではありません |
該当なし 22007 |
SQL_TYPE_TIMESTAMP | データ値は有効な時刻です[a] データ値が有効な時刻ではありません |
該当なし 22007 |
[a] タイムスタンプの日付部分は現在の日付に設定され、タイムスタンプの秒の小数部は 0 に設定されます。
SQL_C_TYPE_TIME構造体で有効な値の詳細については、この付録の「 C データ型」を参照してください。
時刻 C データが文字 SQL データに変換されると、結果の文字データは "hh:mm:ss" 形式になります。
ドライバーは、時刻 C データ型からデータを変換するときに長さ/インジケーター値を無視し、データ バッファーのサイズが時間 C データ型のサイズであると見なします。 長さ/インジケーター値は、SQLPutData の StrLen_or_Ind 引数と、SQLBindParameter の StrLen_or_IndPtr 引数で指定されたバッファーに渡されます。 データ バッファーは、SQLPutData の DataPtr 引数と SQLBindParameter の ParameterValuePtr 引数で指定されます。