2016-06-08 5 views
-1

저는 SQL Server 2012를 배우는 학생입니다. NULL 및 열의 값이 다른 서버에 데이터가 있습니다. 나는 NULL 행에 대해 1과 값이있는 행에 대해 0을 표시하는 쿼리를 작성하려고합니다. 누구든지 저에게 그 글씨를 쓰는 방법을 말해 줄 수 있습니까?null 값을 기본값으로 설정하는 방법은 무엇입니까?

+0

[ISNULL] (https://msdn.microsoft.com/en-us/library/ms184325.aspx) 또는 [COALESCE] (https://msdn.microsoft.com/en-us/library/ms190349)를 사용하십시오. .aspx). – ManoDestra

+1

[SQL Server에서 열이 null 일 때 기본값을 설정하는 방법] 가능한 복제본 (http://stackoverflow.com/questions/17718643/sql-server-how-to-set-a-default-value-when- the-column-is-null) – ManoDestra

+0

@ManoDestra이 문제를 해결하기 위해 ISNULL을 사용하는 방법을 보여줄 수 있습니까? 나는 이것을 스스로 시도했지만 약간 길고 느리다. SELECT ISNULL (REPLACE (col, col, 0), 1). 열이 숫자 인 경우 SELECT ISNULL (col-col, 1)을 사용하면 더 쉽습니다. 나는 여전히 CASE 또는 IIF를 사용하는 것을 선호합니다. –

답변

1

이 같은 것을 시도 '필드 이름 = NULL'사용하지 않을 :

select case when mycolumn is null then 1 else 0 end 
from mytable 
+0

도움을 주셔서 대단히 감사드립니다. –

+0

@rasheedshahzad 아무 문제가 없습니다. 제 대답이 받아 들여 졌거나 적어도 도움이 되었다면 유용하다고 표시해주십시오. 감사. – ADyson

3

이것은 정말 기본적인 질문입니다. 여기서 물어보기 전에 어떤 연구를 했습니까? 당신이 시도한 것을 보여주고 당신이 붙어있는 것이 더 나은 대답을 얻을 것입니다.

이 경우에는 사례 명세서가이 요구 사항을 충족해야합니다.

SELECT 
CASE 
    WHEN FieldName IS NULL 
     THEN 1 
    ELSE 0 
END 
FROM TableName 

세 가지 가치 논리에 읽어주십시오과

+0

도와 주셔서 대단히 감사합니다. –

+0

예. 걱정하지 마십시오. 문제가 해결되면이 대답에 동의 함으로 표시하십시오. –

2

당신은 IIF도 사용할 수 있습니다

select iif(FieldName is null, 1, 0) as FieldName from TableName 
+0

아니요. 특정 프로그램 언어에서 삼항 연산자와 비슷합니다 : val == true? true_statement : false_statement; –

+0

@sagi sqlserver 2012에서 IIF입니다. –

+0

내 잘못이지만 MySQL입니다. – sagi

관련 문제