列の序数位置を使用した SQL Server データの取得
列の選択に序数位置を使用することは一般的に推奨されませんが、推奨されるシナリオもあります。 1 回限りのデータ インポート プロセスなど、特定のタスクに必要です。次の例を考えてみましょう:
create table Test( Col1 int, Col2 nvarchar(10) )
従来の構文を使用する代わりに:
select Col2 from Test
列データにアクセスするには順序位置を使用することが望ましい場合があります:
select "2" from Test -- for illustration purposes only
残念ながら、このアプローチは SQL Server ではサポートされていません。ただし、列の数がわかっている場合は、次の回避策を使用できます。
select NULL as C1, NULL as C2 where 1 = 0 -- Returns empty table with predefined column names union all select * from Test -- There should be exactly 2 columns, but names and data type doesn't matter
これにより、[C1] および [C2] という名前の 2 つの事前定義された列を持つ空のテーブルが作成されます。その後、テスト テーブルのデータをこの空のテーブルに結合して、列が正しく配置されるようにすることができます。
この方法は、多数の列があるテーブルには特に役に立ちません。ただし、事前に列数が決まっているテーブルの場合は便利なソリューションとなります。
以上が直接アクセスがサポートされていない場合、列の序数位置を使用して SQL Server データを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。