Есть ли альтернатива для «где ноль» с использованием «где = ноль»? - PullRequest
0 голосов
/ 03 октября 2011

Если нет, существует ли альтернативный способ переключения между операторами SELECT с использованием идентификатора CASE или IF / THEN БЕЗ размещения оператора в скалярной переменной первым?

Есть ли способ отформатировать его без использования ISи использовать знак = для его работы?

    SELECT ID FROM TABLE WHERE ID = Null

1 Ответ

5 голосов
/ 03 октября 2011

Нет.NULL не является значением.Подумайте о NULL как об условии, когда IS NULL или IS NOT NULL проверяет это условие.

В этом примере вы можете проверить фактическое значение или отсутствие значения, представленного условием

WHERE
   (X IS NULL OR X = @X)

ИЛИ

WHERE
  (@X IS NULL OR X = @X)

Или сначала проверьте свои определенные условия:

WHERE
    CASE X
      WHEN 1 THEN
      WHEN 2 THEN
      ELSE --  includes NULL
   END = ...

Ваш вопрос абстрактный, поэтому трудно дать более точный ответ.

Например, у вас есть проблемы с NOT IN и NULL?Если это так, используйте NOT EXISTS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...