2017-01-26 1 views
0

로컬 비트 변수가 0이면 열이 null 일 때 조건이 있어야하는 select 문을 수행하려고합니다. 이 작품을 만드는 방법에 대한case 문에서 열을 0으로 설정하십시오.

DECLARE @s bit = 0 
SELECT pkID FROM table1 WHERE column1 = CASE WHEN @s = 0 THEN NULL ELSE column1 END 

어떤 아이디어 : 나는 정확한 결과를 제공하지 않는 column1 = NULL를하지 않고 그것을 할 방법을 알아낼 질수?

+2

당신이 말하는 * 설정 *는 NULL''에 열하지만 쿼리가'SELECT' 문이다. 몇 가지 샘플 데이터와 원하는 결과로 의도를 명확히하십시오. – Siyual

답변

1

당신은 WHERE 절에 두 조건을 추가하여이 작업을 수행 할 수 있습니다

Declare @s Bit = 0; 
Select pkID 
From table1 
Where (@S = 0 And Column1 Is Null) 
Or  (@S <> 0)