2

SQL Server2012のselect*の場合、返される列の順序は変更されましたか?

たとえば、select * from t2012より前のSQL Serverバージョンの列a1、a2、a3がa1、a2、a3の順序で返され、2012に移行した後、順序が他の順序に変更されたテーブルtの場合。 、a3、a1、a2。

他の誰かがこれに気づきましたか?

なぜこれが変わったのですか?

なぜこれが起こったのか、私は個人的に興味があります。たぶんSS2012への変換に問題がありますか?

(いいえ、私のアプリケーションは列の順序に依存していません。必要な列を使用する代わりに、必要な順序で指定する必要があることはわかっていますselect *

4

1 に答える 1

3

これは、テーブル内の各列のordinal_position値によって異なりinformation_schema.columnsます。

各列には、このテーブルにテーブル名と序数位置のエントリがあります。これを試して:

SELECT column_name, ordinal_position
FROM information_schema.columns 
WHERE table_name = 'table name';

これは前のインスタンスと同じものを返すはずです。

于 2013-01-09T15:31:52.467 に答える