2017-01-23 2 views
0

SQL Server 2012から2016に移行しようとしていて、同じものに対してMicrosoft Database Migration Assistantを実行しています。マイグレーションアシスタントでは、私はブレイキングの変更をカバーしようとしています。急激な変化の1つが次のように示されています。SQL Server 2012から2016に移行しようとしているときにORDER Byの問題

select 
Name1 as 'Name', 
Age1 as 'Age' from Table 
order by 'Name' 

以下の説明が来る。

データベース互換モードが80以前に設定されている場合、定数式はORDER BY句で許可(無視)されます。ただし、ORDER BY句のこれらの式は、データベース互換モードが90以降に設定されている場合、ステートメントを失敗させます。ここで

、このような問題文の例です:

SELECT * FROM Production.Product 
ORDER BY CASE WHEN 1=2 THEN 3 ELSE 2 END 

しかし、同じスキーマを作成し、SQL Server 2016で同じコードを実行した後、ステートメントが正常に動作しているようです。私は何かを逃していますか?

答えて

1

は、移行アシスタントが、それは単なる警告を与えるorder by句のヒントを見れば、この

select 
Name1 as Name, 
Age1 as Age from Table 
order by Name 
+0

コメントありがとうございます。しかし、私の質問は、私が書いたものに何か問題があるかどうかもっと似ています。私が与えた私のエイリアスとDBAによって与えられた例はちょっと似ていないので.... –

0

が、私はむしろ、式を評価するよりも考えてみてください。恥ずかしがり屋だけど、@ Esperento57の方法はそれを得るための唯一の方法です。

関連する問題