이것은 호기심이 많은 질문입니다. 나는이 질문이 이상한 공처럼 보일지는 모르지만, 나는 데이터가 무엇인지 걱정하지 않기 때문에 데이터를 확인할 때 null을 사용하지만, 데이터는 거기에있다. 다음 시나리오는 SQL Server에서만 발생합니다.COUNT (NULL) 및 IN 절
나는 기록이 내가 사용하는 것이다 존재하는지 확인하려는 경우 :
IF((SELECT COUNT(null) FROM Table1 WHERE Criteria = 1) = 2)
을하지만이 작동하지 않습니다 :
이IF(EXISTS(SELECT null FROM Table1 WHERE Criteria IN (1, 2)))
다음 코드는 작동
IF((SELECT COUNT(null) FROM Table1 WHERE Criteria IN (1,2)) = 2)
이 오류가 발생합니다.
Operand data type NULL is invalid for count operator.
IN 절 때문에 세 번째 문이 다른 이유는 무엇입니까? 여기
이의 SQL 바이올린입니다 내가 무슨 말 : http://sqlfiddle.com/#!6/6d7db/8이 IN 절 너무
'COUNT (NULL) '을하는 것은 실제로 당신을 위해 아무것도하지 않고 있습니다. 예를 들어,'COUNT (1)'은하지 않을 것입니다. 질문에 대한 답이 아니라는 것을 압니다 만, 방금'COUNT (1) '을 사용한다면 어떨까요? 허용되는 구문 – Tom
또는 그냥 (*)을 계산하십시오. 그것은 *를 사용하는 몇 안되는 장소 중 하나입니다. –
또한 내부 존재는 완벽하게 수용 가능 select *를 사용하십시오. 모든 작업은 행의 존재 여부를 확인하는 것입니다. –