필드가 NULL
인지 여부에 따라 쿼리를 필터링하는 T-SQL case 문을 만들거나 값이 포함되어있는 경우이를 시도하고 있습니다. 경우의 결과로 NULL
또는 NOT NULL
을 할당 할 수는 있지만 가능하지는 않은지는 간단합니다.CASE 문에서 BATE와 DATETIME을 일치시키는 중
가 여기에 psuedocode입니다 : 나의 이해에서
WHERE DateColumn = CASE @BitInput
WHEN 0 THEN (all null dates)
WHEN 1 THEN (any non-null date)
WHEN NULL THEN (return all rows)
에서, WHEN 0
조건 모두에서 WHEN
조건을 제공하지 않음으로써 달성 될 수있다 (A NULL
값을 반환합니다).
와일드 카드 문자를 사용할 수있는 것처럼 보이지만 형식 변환과 관련하여 오류가 발생합니다. 자체에 열을 지정하면이 문제가 해결됩니다.
WHEN NULL
상태로 무엇을해야할지 모르겠습니다. 내 내부 논리는 열 자체를 할당하면이 문제를 해결해야한다고 생각하는 것 같지만 위에서 언급 한 것처럼하지는 않습니다.
동적 SQL을 사용하여이 작업을 다시 만들었지 만 여러 가지 이유로 원시 코드로 작성하는 것을 선호합니다.
나는 모든 의견을 고맙게 생각하고 있습니다. 감사.
당신의 선생님이 신사와 일에 대한 내 개인적인 영웅을 언급하지 않기 학자있는 3 개의 사례를 구분하는 데 사용할 수 있습니다. 빠른 답변 감사합니다. – beardog