Я пытаюсь выполнить миграцию с SQL Server 2012 до 2016 и запустил помощник по миграции Microsoft Database для этого же. В помощнике по миграции я просто пытаюсь осветить изменения. Одно из последних изменений выглядит следующим образом.Проблема с ORDER При попытке перехода с SQL Server 2012 на 2016
select
Name1 as 'Name',
Age1 as 'Age' from Table
order by 'Name'
Следующие пояснения приходят для этого.
В выражении ORDER BY разрешены (и игнорируются) выражения константы, когда режим совместимости с базой данных установлен на 80 или более ранних. Однако эти выражения в предложении ORDER BY приведут к тому, что оператор завершится с ошибкой, если для режима совместимости с базой данных установлено значение 90 или более поздней.
Вот пример таких проблемных заявлений:
SELECT * FROM Production.Product
ORDER BY CASE WHEN 1=2 THEN 3 ELSE 2 END
Однако после создания ту же схему и работает один и тот же код в SQL Server 2016, заявление, кажется, работает хорошо. Я что-то пропустил?
Спасибо за комментарий. Но мой вопрос больше похож на то, есть ли какая-то проблема с тем, что я написал. Потому что мои псевдонимы, которые я дал, и примеры, данные DBA, кажутся немного похожими ... –