列の選択に序数を使用することは一般的に推奨されませんが、1 回限りのシナリオなど、特定のシナリオでは必要になる場合があります。データインポートプロセス。 SQL Server で序数位置を使用して列データを選択することは可能ですか?
提供された例を詳しく説明するには、次のテーブルを考慮してください:
create table Test( Col1 int, Col2 nvarchar(10) )
を使用する代わりに:
select Col2 from Test
次を使用して同じ結果を達成できますか?
select "2" from Test -- for illustration purposes only
答えは次のとおりです。 いいえ.
SQL Server では、順序位置に基づいて列を選択することはできません。代わりに、列名を明示的に指定する必要があります。したがって、提供されている 2 番目の例は有効な構文ではありません。
列の数はわかっているが、その名前やデータ型がわかっていない場合は、次の回避策を採用できます。
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
このメソッドは必要な数の列を持つ一時テーブル。これにより、序数位置をインデックスとして使用してデータにアクセスできるようになります。ただし、多数の列があるテーブルには推奨されません。
以上が序数を使用して SQL Server 列を選択できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。