In SQL Server I have multiple bit
columns. If either the product = False or the Category = False, I want to return False.
My test code:
x
declare @b0 bit
declare @b1 bit
set @b0 = 0
set @b1 = 1
select (@b0 and @b1)
select (@b0 + @b1)
select (@b0 = @b1)
But all 3 selects crash.
My actual code snippet:
select
c.bCatActive, -- I want to dispose of this line.
p.bProdActive, -- I want to dispose of this line.
(c.bCatActive and p.bProdActive) as IsActive -- I want to retrieve this line but doesn't work.
from
Category c, Product p
where
p.ProductID = 999
and c.CategoryID = p.CategoryID
Of course I can do this with two If-Thens but my current query is pleasantly one clean query so I was hoping to do this in one neat line.
Advertisement
Answer
You are very close, booleans should use boolean logic:
declare @b0 bit
declare @b1 bit
set @b0 = 0
set @b1 = 0
select (@b0 & @b1)
Use & for and, | for or