2011-05-06 4 views

답변

1

:

WHERE Nz(CompanyName, '') = '' 

양식의 필터 속성 : 미치 밀에 의해 게시

Nz(CompanyName, '') = '' 

이 솔루션은 또한 작동합니다. 나는 어느 것이 최고의 성능을 제공 할지는 확신 할 수 없다. 당신이 미치의 솔루션을 사용하고 있고 또한 WHERE 절에 다른 조건을 사용하는 경우, 다음과 같이 괄호를 삽입하는 것을 잊지 마세요 :

WHERE (myCol IS NULL OR LEN(myCol) = 0) AND myCol2 = True 
+0

감사합니다. 효과가있었습니다. – Ali

1

예. SQL 문에서

WHERE myCol IS NULL OR LEN(myCol) = 0 
1

기준을 사용하면 인덱스를 사용 할 수 없음을 의미있는 함수를 사용하여. @Mitch Wheat의 솔루션은 Is Null 테스트의 인덱스를 사용하지만 Len() 테스트의 인덱스는 사용하지 않습니다.

절은이 일 것 스 SARGable :

WHERE myCol Is Null OR myCol = "" 

하지만 해제 권하고 싶습니다 "을 제로 길이 문자열을 허용"다음은 널 테스트, 인덱스 필드에있을 것입니다 만하면 할 매우 빠릅니다.

가치있는 점은 MS가 새로운 텍스트 필드의 기본값을 ZLS 허용을 사용하도록 변경 한 것이 매우 귀찮습니다. 즉, 테이블 디자이너를 사용하여 새 필드를 만들 때 모든 테이블을 변경해야한다는 의미입니다.