CSVペイロード レコードはVARCHARとしてインポートされます。ビューを作成すると、次のことが可能になります。
- ペイロード フィールドを適切なデータ型にCASTします。
- 大文字と小文字を区別しない名前を使用して、ヘッダー フィールドの名前を変更します。この例では、大文字と小文字が混在するヘッダーを示していますが、クエリーでの必要性に応じて使用できます。
例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。
- NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
- 存在しない場合は、riverflow_csv_pathという名前の外部テーブルを作成するか、データベース管理者に作成を依頼します。外部テーブルのペイロード列でのフィルタリングを参照してください。
- 外部テーブルのビューを作成します。
CREATE VIEW riverflowview_csv AS ( SELECT CAST(payload..Flow AS FLOAT) ( FORMAT '-ZZZZ9.99') Flow, CAST(payload..GageHeight AS FLOAT) ( FORMAT '-ZZZ9.99') GageHeight1, CAST(payload..Precipitation AS FLOAT) ( FORMAT '-ZZZ9.99') Precipitation, CAST(payload..Temp AS FLOAT) ( FORMAT '-ZZZ9.99') Temperature, CAST(payload..Velocity AS FLOAT) ( FORMAT '-ZZZ9.99') Velocity, CAST(payload..BatteryVoltage AS FLOAT) ( FORMAT '-ZZZ9.99') BatteryVoltage, CAST(payload..GageHeight2 AS FLOAT) ( FORMAT '-ZZZ9.99') GageHeight2 FROM riverflow_csv_path );
- ビューを問合わせます。
SELECT TOP 2 * FROM riverflowview_csv;
結果は次のようになります。
Flow GageHeight1 Precipitation Temperature Velocity BatteryVoltage GageHeight2 ------ ----------- ------------- ----------- -------- -------------- ----------- 186.00 2.05 ? ? ? ? 2.05 232.00 2.16 0.00 ? ? ? 2.16
属性が欠落している列は、レコードに属性が含まれていない場合にNULLを返します。