SQL: где [columnName] = CASE WHEN (условие) THEN NULL ELSE [columnName] END - PullRequest
0 голосов
/ 25 июня 2018

Хотите запустить запрос в Sybase, чтобы сделать следующее:

Если условие истинно, выбирайте только записи, в которых columnName равно нулю, в противном случае - что-нибудь еще. Однако мы знаем, что сравнивать NULL, "= NULL" не правильно, вместо этого мы должны использовать "IS NULL".

Как я могу интегрировать "IS NULL" в запрос тогда?

select * from tableName
where columnName = CASE WHEN (condition) THEN NULL ELSE columnName END

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете попробовать этот альтернативный запрос, который не использует CASE:

select * from tableName
where ((condition) AND columnName IS NULL) Or (Not (condition))
...