Sargable-запросы с использованием ISNULL в TSQL

Я хочу предотвратить использование несргулируемых выражений в своих запросах, Какой лучший способ проверить наличие нулевого условия?

AND c.Account IS NOT NULL 
AND c.Account <> ''

или

AND ISNULL(c.Account,'') <> ''

Мне пришло в голову указать, что Аккаунт поступает из ЛЕВОГО СОЕДИНЕНИЯ , так что это может быть значение NULL. Мне нужны случаи, когда они только пересекаются, а это значит, что мне действительно нужно просто использовать INNER JOIN , а? Спасибо за facepalms;)

Однако, не обращая внимания на эту тошнотворную самореализацию, я все же хочу знать ответ на этот вопрос в общем случае, когда я не могу сделать Account столбцом NOT NULL.

6
задан jcolebrand 17 February 2011 в 01:23
поделиться