확인 NULL 값을 가지고, 그래서 나는이 문제를 알고있을 때 절 행을 반환하지 WHERE :SQL 필드
그러나SET ANSI_NULLS가 ON 인 경우, null 값에 대한 모든 비교가 UNKNOWN으로 평가
- SQL And NULL Values in where clause
- SQL Server return Rows that are not equal <> to a value and NULL
, DataTable
을 쿼리하려고합니다.
내 쿼리에 추가 할 수있는 모든 컬럼에 대한
OR col_1 IS NULL OR col_2 IS NULL
,하지만 내 테이블은 47 열이, 그리고 동적 SQL (문자열 연결)를 짓고 있어요, 그리고 고통이해야 할 것처럼 그냥 보인다 그. 다른 해결책이 있습니까?
WHERE
비교에서 값이 NULL
인 모든 행을 다시 가져와야했습니다.
UPDATE
나에게 문제가 준 쿼리의 예 :
string query = col_1 not in ('Dorothy', 'Blanche') and col_2 not in ('Zborna', 'Devereaux')
grid.DataContext = dataTable.Select(query).CopyToDataTable();
(검색하지 않은 행을 경우/col_1 = null
및/또는 col_2 = null
경우)
문제의 원인이되는 쿼리 종류의 예를 보여주십시오. –
당신의 열이 모든 문자열이라면 정말 더러운 방법은 당신이 쿼리하는 모든 열을 연결 한 다음 null인지 확인하는 것입니다. – leeny
동일한 테스트를 수행해야하는 경우 동일한 유형의 많은 열, 내 생각 엔 이러한 값을 첫 번째 테이블에 외래 키가있는 별도의 테이블에 넣어야한다는 것입니다. 그러나 테이블 스키마를 게시 할 때까지는 알 수있는 방법이 없습니다. –