ホームページ >データベース >mysql チュートリアル >SQL Server は序数を使用して列データを取得できますか?

SQL Server は序数を使用して列データを取得できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-31 16:39:13697ブラウズ

Can SQL Server Retrieve Column Data Using Ordinal Position?

SQL Server では順序位置に基づく列の選択は可能ですか?

順序位置に基づいて列データを選択することは一般的に推奨されませんが、特定のシナリオでは使用が正当化される場合があります。この質問では、SQL Server でのこのような選択の可能性について検討します。

質問:

テーブル列の序数位置を使用して列データを取得できますか?例として、次のテーブルについて考えてみましょう:

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

これにより、テストの列数と一致する 2 つの列 ([C1] と [C2]) を持つテーブルが作成されます。テーブル。このデカルト積の 2 番目の列を選択すると、Test テーブルの 2 番目の列からデータが効果的に取得されます。

この方法は、事前定義された数の列を持つテーブルでのみ実用的であることに注意してください。多数の列を持つテーブルにこれを使用すると、非効率になり、エラーが発生しやすくなります。

以上がSQL Server は序数を使用して列データを取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。