Missing If statement using Bitwise operators

Hi all you experts I am trying to convert a number to a true/false statement. True if the bit is on.

Below is my data:
Ident  Device                    Shelf   Row          count bit
15        TubeStore0113      10             2               7

I want to convert 7 into position 1,2,3 are on and position 4 is off based on the bit value.
Below I & the bit with the column 1-4 and got a return of 1,2,4,8 which is correct, but I guess I am having trouble changing that value to true/false.

So how would I add an If statement around each column and retrun true if the value > 0
SELECT     TOP (1) Ident, DeviceName, Shelf, Row, CoumnCount, CountBit, TubeCount, CountBit & 1 AS Column1, CountBit & 2 AS Column2, 
                      CountBit & 4 AS Column3, CountBit & 8 AS Column4
FROM         dbo.TempBitCountByShelf
WHERE     (DeviceName = N'TubeStore0113') AND (CoumnCount = 3)
ORDER BY Ident

Open in new window

TraciShultzAsked:
Who is Participating?
 
ralmadaConnect With a Mentor Commented:
Do you mean something like this?
 

SELECT ...
	CASE WHEN CountBit & 1 > 1 THEN 'TRUE' ELSE 'FALSE' END AS Column1, 
	CASE WHEN CountBit & 2 > 1 THEN 'TRUE' ELSE 'FALSE' END AS Column2, 
	CASE WHEN CountBit & 4 > 1 THEN 'TRUE' ELSE 'FALSE' END AS Column3, 
	CASE WHEN CountBit & 8 > 1 THEN 'TRUE' ELSE 'FALSE' END AS Column4
FROM ...

Open in new window

0
 
TraciShultzAuthor Commented:
Excellent solution.
0
 
TraciShultzAuthor Commented:
Final Solution:
SELECT     TOP (100) Ident, DeviceName, Shelf, Row, CoumnCount, CountBit, TubeCount,
                      CASE WHEN CountBit & 1 > 0 THEN 'TRUE' ELSE 'FALSE' END AS Column1, CASE WHEN CountBit & 2 > 0 THEN 'TRUE' ELSE 'FALSE' END AS Column2,
                       CASE WHEN CountBit & 4 > 0 THEN 'TRUE' ELSE 'FALSE' END AS Column3,
                      CASE WHEN CountBit & 8 > 0 THEN 'TRUE' ELSE 'FALSE' END AS Column4
FROM         dbo.TempBitCountByShelf
WHERE     (DeviceName = N'TubeStore0113')
ORDER BY Ident
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.