Я вручную написал простой SQL в SQL Server 2008, как показано ниже;
SELECT * FROM Tab1 WHERE
A='1' AND (B='1' OR C='1');
Будучи ленивым, я открыл этот запрос в редакторе запросов, чтобы проверить синтаксис, и нажал OK в диалоговом окне без каких-либо изменений.
Я заметил, что редактор запросов изменил мой запрос на:
SELECT * FROM Tab1 WHERE A='1' AND (B='1') OR (C='1');
ясно, что это меняет логику SQL и возвращает разные результаты в зависимости от того, какой из них вы выполняете.
Я регулярно использую редактор запросов для проверки моего синтаксиса сложных запросов. Так что немного волнуюсь, что такое тонкое изменение может привести к неожиданностям, но изменит результат.
Это особенность дизайнера? Что я могу сделать, чтобы изменить это поведение?
РЕДАКТИРОВАТЬ: Спасибо за указание на то, что изменения, внесенные редактором, не совсем такие же, как указано выше, но все равно запрос изменен, хотя результаты совпадают.
Спасибо