強化された日付と時刻の機能に対する ODBC API のサポート

適用対象:SQL ServerAzure SQL データベースAzure SQL Managed InstanceAzure Synapse Analytics

拡張された日付と時刻の種類 ( date、 time、 datetime2、 datetimeoffsetなど) には、より豊富なメタデータ、拡張された精度、より柔軟なバインディング セマンティクスをサポートする ODBC ドライバーが必要です。
以下のODBCおよびバルクコピーAPIは、発見、バインディング、検索、記述子管理、そして増強された日付と時刻値の大量取り込みにどのように貢献するかに基づいてグループ化されています。

スキーマとメタデータの検出 (日付/時刻型)

これらの API は、サポートされている日付/時刻型、列メタデータ、およびパラメーターの特性をアプリケーションが決定するのに役立ちます。

機能 目的
SQLColumns 強化された日付/時刻型を含む列のメタデータを取得します
SQLColAttribute 日付/時刻フィールドの型、有効桁数、小数点以下桁数などの列属性を返します。
SQLDescribeCol 日付/時刻型の詳細を含む列の説明を提供します
SQLDescribeParam 日付/時刻パラメーターの形式と有効桁数を含むパラメーター メタデータを返します。
SQLGetTypeInfo 強化された日付/時刻カテゴリを含む、サポートされている SQL データ型を一覧表示します
SQLProcedureColumns 日付/時刻型を含むストアド プロシージャ パラメーターのメタデータを取得します
SQLSpecialColumns タイムスタンプやバージョン管理フィールドなどの特殊な列を識別します

日付/時刻型のバインドとパラメーターのサポート

これらの関数は、アプリケーション変数とパラメーターを日付と時刻の値にバインドします。

機能 目的
SQLBindCol 日付/時刻値を含む結果列にアプリケーション バッファーをバインドする
SQLBindParameter 準備されたステートメントまたは直接ステートメントの日付/時刻パラメーターをバインドする
SQLPutData 実行中の大規模または可変長の日付・時刻データのストリーム

日付/時刻値のフェッチと取得

これらの API は、実行されたステートメントから拡張日付/時刻値を取得します。

機能 目的
SQLFetch 日付/時刻値を含む順次行をフェッチします
SQLFetchScroll 日付/時刻列を含むスクロール可能なカーソルを使用して行をフェッチします
SQLGetData 柔軟なバッファー形式で日付/時刻列の値を取得します

日付/時刻型の記述子と属性の管理

日付/時刻値を拡張するには、有効桁数、小数点以下桁数、およびストレージ レイアウト用の正確な記述子フィールドが必要です。

機能 目的
SQLGetDescField 日付/時刻フィールドの記述子メタデータを取得します
SQLGetDescRec 型/有効桁数を含む完全な記述子レコードを取得します
SQLSetDescField 記述子フィールドが日付/時刻の値を正しく表すように設定します
SQLSetDescRec 日付/時刻情報を格納するバッファーの完全な記述子レコードを設定します。

日付/時刻型の一括コピー (BCP) のサポート

大量コピー操作により、大量の取り込みと強化された日付・時刻値の抽出が可能です。

機能 目的
bcp_bind 拡張日付/時刻データを含む一括コピー列にホスト変数をバインドする
bcp_colfmt BCP のエクスポート/インポート中の日付/時刻値の列形式を定義します
bcp_getcolfmt 日付/時刻型を含む列の書式情報を取得します
bcp_gettypename 拡張日付/時刻型を含む SQL Server 型名を返します
bcp_setcolfmt 日付/時刻型を含む一括操作の書式定義を設定します