Редактор запросов SQL Server 2008 изменяет логику запроса

Я вручную закодировал простой 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 и возвращает разные результаты в зависимости от того, какой из них вы выполняете.

Я обычно использую редактор запросов для проверки синтаксиса сложных запросов. Так что немного волновался, что такое тонкое изменение не заметит, но изменит результат.

Это особенность дизайнера? Могу ли я что-то сделать, чтобы изменить это поведение?

РЕДАКТИРОВАТЬ: Спасибо за указание на то, что изменения, сделанные редактором, не совсем такие же, как указано выше, но все же запрос изменен, хотя результаты такие же.

Спасибо

8
задан Sivakanesh 28 June 2011 в 15:43
поделиться