Вы можете использовать оператор case
для null
вывода строки, например:
select
case
when bit_or(n) = 0 then null
else bit_or(n)
end
from
t1
where
a=1
Или, если вы хотите полностью игнорировать строку, вы можете сделать это в предложении having
:
select
bit_or(n)
from
t1
where
a=1
having
bit_or(n) <> 0
Предложение having
используется, по существу, для where
в столбцах совокупности (например, sum
или max
). В этом случае ваш совокупный столбец - bit_or
. Если у вас есть дополнительные столбцы в наборе результатов, вам нужно будет включить их в оператор group by
после предложения where
, но до предложения having
.
Первый пример вернет null
для этой строки, тогда как второй пример не вернет строку, если bit_or(n)
равно 0.