2013-10-28 4 views
2

나는 postgres를 처음 사용합니다.포스트그레스에서 첫 번째 null 값을 찾는 방법은 무엇입니까?

나는 다음과 같이 필드 (제목)가 :

Title  Date1  Date2  Date3  Date4  Date5 Date6 

Vaccine1 01/08/1980 01/08/1981 01/08/1982 01/08/1983 Null Null 

내가 처음 널 (null) 값을 찾을 필요가 어디 직장에서 상황이있다. 위의 경우 제목을 기준으로 Date5 여야합니다. 다른 조건을 점검해야합니다. 그러나 이것은 나의 주요 경우에있을 것입니다. 나는 바로 거기에 붙어

case 
when title ='AAA' 
and 
?? 

:

나는 다음과 같이 뭔가를 시도하고있다.

도움을 주시면 감사하겠습니다. 감사.

+0

그래서 특정 제목과 data5를 가진 레코드를 null로 찾으려면? 그런 레코드 중 첫 번째 레코드를 선택하겠습니까? –

+2

동일한 "유형"의 데이터를 포함하는 여러 개의 열 (일반적으로 두 열을 비교하면 의미가 있음)은 일반적으로 데이터 모델이 잘못되었음을 나타냅니다. 날짜가 포함 된 열 하나를 여러 행 * * 데이터 * 값 1-6을 보유하는 추가 열은 어떻게 든 * 이름 * 열에 포함됩니다. –

답변

2

첫 번째 NULL은 다음과 같이 뭔가를 할 수있다있는 열 알고 싶다면 :

case when date1 is null then 'date1' 
    when date2 is null then 'date2' 
    when date3 is null then 'date3' 
    when date4 is null then 'date4' 
    when date5 is null then 'date5' 
    when date6 is null then 'date6' 
    else null 
end 

데모하십시오 case에서 when의이 목록에 체크되어 있는지 http://sqlfiddle.com/#!1/6fd74/1

주 순서 및 실행은 첫 번째 일치 when에서 중지되므로이 구조는 NULL이 아닌 첫 번째 열을 알려줍니다 (물론 when이 올바른 순서로 있다고 가정).

관련 문제