SQL: всегда возвращать true из условия `IN` - PullRequest
0 голосов
/ 21 апреля 2020

Как сделать так, чтобы IN условие всегда возвращало true, как и WHERE 1, я пробовал null, но не сработало:

WHERE X IN (NULL)

Есть ли способ сделать так, чтобы IN вернул true и принять все строки?

вернуть true из чего-то вроде следующего:

where X in ("Any value here to alway return true")

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Лучшее, что вы можете сделать, это включить сравниваемый столбец:

where x in (x)

Однако это не включает NULL значения. Фактически, вы не можете сделать это возвращение истинным:

where NULL in ( . . . )

Вы можете изменить это на:

where coalesce(x, '') in (coalesce(x, '')
0 голосов
/ 21 апреля 2020

Одним из способов является использование LEFT JOIN:

select t.*
from table t left join
     ( . . .  ) tt
     on tt.x = t.x;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...