datetime データ型の変更
ODBC 3.x では、日付、時刻、およびタイムスタンプの SQL データ型の識別子が、SQL_DATE、SQL_TIME、およびSQL_TIMESTAMP (ヘッダー ファイル 9、10、および 11) の #define のインスタンスを含む) から、SQL_TYPE_DATE、SQL_TYPE_TIME、およびSQL_TYPE_TIMESTAMP (ヘッダー ファイル 91 の #define のインスタンスを含む) に変更されました。 92、93)、それぞれ。 対応する C 型識別子は、それぞれ SQL_C_DATE、SQL_C_TIME、およびSQL_C_TIMESTAMP から SQL_C_TYPE_DATE、SQL_C_TYPE_TIME、およびSQL_C_TYPE_TIMESTAMP に変更されています。
ODBC 3.x の SQL datetime データ型に対して返される列サイズと 10 進数は、ODBC 2.x で返される有効桁数と小数点以下の桁数と同じです。 これらの値は、SQL_DESC_PRECISION および SQL_DESC_SCALE 記述子フィールドの値とは異なります。 (詳細については、列サイズ、小数点以下の桁数、転送オクテット長、および表示サイズを参照してください。)
これらの変更は、SQLDescribeCol、SQLDescribeParam、SQLColAttribute、SQLBindCol、SQLBindParameter、SQLGetData、SQLColumns、SQLGetTypeInfo、SQLProcedureColumns、SQLStatistics、および SQLSpecialColumns に影響します。
次の表は、SQLBindCol と SQLGetData の TargetType 引数、または SQLBindParameter の ValueType 引数に入力された日付、時刻、およびタイムスタンプの C データ型のマッピングを ODBC 3.x ドライバー マネージャーがどのように実行するかを示しています。
データの種類 入力されたコード |
2.x アプリ 2.x ドライバー |
2.x アプリ 3.x ドライバー |
3.x アプリ 2.x ドライバー |
3.x アプリ 3.x ドライバー |
---|---|---|---|---|
SQL_C_DATE (9) | マッピングなし | SQL_C_TYPE_DATE (91) | マッピングなし[1] | SQL_C_TYPE_DATE (91) |
SQL_C_TYPE_DATE (91) | エラー (DM から) | エラー (DM から) | SQL_C_DATE (9) | マッピングなし[2] |
SQL_C_TIME (10) | マッピングなし | SQL_C_TYPE_TIME (92) | マッピングなし[1] | SQL_C_TYPE_TIME (92) |
SQL_C_TYPE_TIME (92) | エラー (DM から) | エラー (DM から) | SQL_C_TIME (10) | マッピングなし[2] |
SQL_C_TIMESTAMP (11) | マッピングなし | SQL_C_TYPE_TIMESTAMP (93) | マッピングなし[1] | SQL_C_TYPE_TIMESTAMP (93) |
SQL_C_TYPE_TIMESTAMP (93) | エラー (DM から) | エラー (DM から) | SQL_C_TIMESTAMP (11) | マッピングなし[2] |
[1] この結果、ODBC 2.x ドライバーを使用する ODBC 3.x アプリケーションでは、カタログ関数によって返される結果セットで返される日付、時刻、またはタイムスタンプ コードを使用できます。
[2] この結果、ODBC 3.x ドライバーを使用する ODBC 3.x アプリケーションでは、カタログ関数によって返される結果セットで返される日付、時刻、またはタイムスタンプ コードを使用できます。
次の表は、ODBC 3.x ドライバー マネージャーが、SQLBindParameter の ParameterType 引数または SQLGetTypeInfo の DataType 引数に入力された日付、時刻、およびタイムスタンプ SQL データ型のマッピングをどのように実行するかを示しています。
データの種類 入力されたコード |
2.x アプリ 2.x ドライバー |
2.x アプリ 3.x ドライバー |
3.x アプリ 2.x ドライバー |
3.x アプリ 3.x ドライバー |
---|---|---|---|---|
SQL_DATE (9) | マッピングなし | SQL_TYPE_DATE (91) | マッピングなし[1] | SQL_TYPE_DATE (91) |
SQL_TYPE_DATE (91) | エラー (DM から) | エラー (DM から) | SQL_DATE (9) | マッピングなし[2] |
SQL_TIME (10) | マッピングなし | SQL_TYPE_TIME (92) | マッピングなし[1] | SQL_TYPE_TIME (92) |
SQL_TYPE_TIME (92) | エラー (DM から) | エラー (DM から) | SQL_TIME (10) | マッピングなし[2] |
SQL_TIMESTAMP (11) | マッピングなし | SQL_TYPE_TIMESTAMP (93) | マッピングなし[1] | SQL_TYPE_TIMESTAMP (93) |
SQL_TYPE_TIMESTAMP (93) | エラー (DM から) | エラー (DM から) | SQL_TIMESTAMP (11) | マッピングなし[2] |
[1] この結果、ODBC 2.x ドライバーを使用する ODBC 3.x アプリケーションでは、カタログ関数によって返される結果セットで返される日付、時刻、またはタイムスタンプ コードを使用できます。
[2] この結果、ODBC 3.x ドライバーを使用する ODBC 3.x アプリケーションでは、カタログ関数によって返される結果セットで返される日付、時刻、またはタイムスタンプ コードを使用できます。