질문이 데이터 정의와 상호 작용한다는 점에 유의하십시오. "field"가 "Not Null"로 정의 된 경우 null 데이터에 대해 걱정할 필요가 없으며 가독성을 위해 # 1을 선택해야합니다. 필드가 Null을 허용하지만 쿼리를 수행 할 때 당신이 "ISNULL"기능을 사용하는 경우 마찬가지로 : 당신은 여전히 널 (null)에 대해 걱정할 필요가 없기 때문에
Select IsNull(Field1, '') as Field1 From DBTable Where...
후, 다시, 당신은 # 1을 선택해야합니다. 물론 이것은 빈 문자열에 의해 마스크 될 null 값을 원한다고 가정합니다.
if (nwReader.IsDBNull(nwReader.GetOrdinal("Field1")))
*throw exception or otherwise handle null condition
string aStr = (string)nwReader["field"];
이 마지막 사건은, 그러나, 정말 좋은 방법이 아닙니다 : 당신은 널 (null)에 대해 테스트 할 경우이 같은 오류 조건이 다음 로직이있을 것이다 때문이다. null이 유효하지 않은 값, 즉 오류 조건 인 경우 DDL에서이를 제외해야합니다. 나는 더 나은 가독성에 이르게 생각하기 때문에
는 결국,하지만, 난 항상 옵션 # 1 가서는 내 널 (null)이 명시 적으로 처리하도록 강제합니다.
실제로 (2)에서는 null에 대한 예외가 발생하지 않는다. null 문자열이 생깁니다. – LeJeune
그러나 1. null에 대한 예외가 발생할 수 있습니다. –
사실, (2) 값이 null이면 예외가 발생합니다. (3) 여기서 가장 좋습니다. –