테이블에 'N/A', 'Single', 'Multiple'의 3 개 값이있는 상태 열이 있습니다. 일부 행의 상태 열에는 NULL
값이 있습니다.SQL 서버 쿼리의 NULL 값
Status가 Null이 아니고 'N/A'가 아닌 행을 모두 가져와야합니다. 기본적으로 상태가 "Single"또는 "Multiple"인 모든 행이 필요합니다.
저는 'UNKNOWN'과 동등한 NULL에 대해 방금 읽었습니다. 내가
SELECT *
FROM t_userstatus
WHERE status <> 'N/A'
을 말한다면
나는 결과 ("싱글"또는 "복수"를 만 들어있는 모든 행)을 얻는다.
제가 알고 싶습니다. 위의 WHERE
절은 항상 NULL 값을 갖는 행을 제외합니까? 예상되는 동작입니까?
명시 적으로 지정하지 않았지만 null 행을 제외시키는 이유는 무엇입니까?
제 질문에 명시 적으로 상태 IS NOT NULL
을 말해야합니까?
저는 비교적 프로그래밍에 익숙하지 않으며, 어떤 도움을 주시면 감사하겠습니다.
다음 사람의 명확성을 위해 is not null을 명시 적으로 사용해야한다는 것에 동의하지만 이는 기본 구성이 지정된 서버의 정상적인 동작입니다. 또한 정상적인 상황에서 열 목록을 지정하는 습관에 동의하지만 완전한 열 목록이 아닌 방법으로 *가 실제로 적합한 경우는 거의 없습니다. – TimothyAWiseman