2017-12-23 5 views
0

SQL Server 2011 데이터베이스에 테이블을 가져 왔습니다. 테이블에 다른 값이없는 필드에 "NULL"이라는 텍스트 값이 들어 있습니다. "NULL"의 텍스트 값을 아무것도 대체하지 않는 쿼리의 구문은 무엇입니까?NULL의 텍스트 값을 실제 NULL 값으로 업데이트하는 방법

다음과 같이 작동 할 것이라고 생각했지만 그렇지 않습니다.

UPDATE dbo.tblFlatTVL 
SET TagType = NULL 
WHERE TagType = 'NULL'; 
+2

검색어가 작동해야합니다. –

+0

진술서는 괜찮아 보입니다. 정확히 작동하지 않는 방법에 대해 자세히 설명해 주시겠습니까? 오류가 있습니까? 잘못된 결과? – Mureinik

+0

이 작업을 수행 할 때 어떤 결과가 발생합니까? dbo.tblFlatTVL에서 선택하십시오. 여기서 TagType = 'NULL'; 그렇다면 업데이트가 작동해야합니다. – Harry

답변

0

쿼리를 사용해야합니다.

Update dbo.tblFlatTVL 
    set TagType = '' 
    where TagType = 'NULL'; 

따옴표는 값의 일부 경우에, 당신은 비교에 포함해야합니다 : "아무것도"에 의해, 당신은 빈 문자열을 의미하는 경우, NULL에서 빈 문자열이 다른 것을 이해

where TagType = '"NULL"'; 
+0

아니요, NULL이 빈 문자열과 다르다는 것을 이해하지 못했습니다. null이 빈 문자열이라고 생각했습니다. 내가 찾고있는 것은 결과를 반환하거나 결과를 내보낼 때 값이 나타나기를 원하지 않는다는 것입니다. 지금 NULL이 반환됩니다. – Andrew

+0

다음 네 가지 쿼리를 통해 "쿼리가 성공적으로 실행되었습니다."라는 메시지가 표시되고 DB는 행의 아래에 반환 된 헤더 행을 표시합니다. select * from dbo.tblFlatTVL 여기서 TagType = NULL; select * from dbo.tblFlatTVL 여기서 TagType = 'NULL'; select * from dbo.tblFlatTVL 여기서 TagType = '% NULL %'; select * dbo.tblFlatTVL에서 TagType = ''; – Andrew

+0

다음 쿼리를 실행하면 행이 반환됩니다. select * from dbo.tblFlatTVL PlateNumber = 'BT7G522'; 그러나 표제어 TagType 아래의 필드를 선택하면 다른 곳에 값을 복사하여 붙여 넣으면 붙여 넣은 값이 NULL입니다. Excel을 사용하여 데이터베이스로 가져온 CSV를 열면 NULL이 셀에 텍스트로 표시됩니다. @Mureinik – Andrew