2014-04-10 4 views
0

MSDN article about T-SQL CREATE PROCEDURE statement을 읽고 나는 이해할 수없는 문장을 발견했습니다. 은 "모범 사례"섹션에서 "T-SQL의 NULL은 알 수없는 값의 자리 표시 자입니다"- 그게 무슨 뜻입니까?

, 그들은 말 : 널 (null)을 변환하고 쿼리에서 null 값을 가진 행을 제거 논리를 포함

를 사용하여 수정 문을. Transact-SQL에서 NULL은 비어 있거나 "아무것도"값이 아닙니다. 알 수없는 값에 대한 자리 표시 자이며 특히 결과 집합을 쿼리하거나 전체 함수를 사용할 때 예기치 않은 동작이 발생할 수 있습니다.

아무도 나를 설명 할 수 있습니까? 나는 항상 NULL이 빈 값, 누락 된 값 또는 단지 "아무것도"라고 생각했기 때문에 나는 혼란 스럽다.

업데이트 : 방금 ​​similar question을 찾았습니다. 비교하면 NULL! = NULL이됩니다. 그래서 NULL 값은 결코 어떤 것과도 같을 수 없습니다. 그게 좋은 지적이야. 다른게 있니?

+0

또한 0이 null의 대체 값이 될 곳 ISNULL (0 colName 사용을)를 사용할 수 있습니다. 즉, null 값을 비교할 수 있습니다. – Frank

+1

''int' 컬럼에서'0'이 아니며'varchar' 컬럼에서 길이가 0 인 문자열이 아니라는 점을 강조하려고합니다. –

답변

0

NULL 값은 "값이 설정되지 않음"을 의미합니다. 이런 이유로 그들은 그것을 자리 표시 자라고 부릅니다. 두 개의 값이 같지 않아야합니다.

비즈니스 프로세스에서 필요하거나 예상 된 결과가 필요한 경우 NULL 값 '을 처리해야합니다.

확인이 문서는 NULL에 대한 자세한 내용은 : http://technet.microsoft.com/en-us/library/ms191504(v=sql.105).aspx