많은 컬럼에서 NULL 값을 가져야합니다. 나는 약간의 연구를 해왔지만 한 번에 하나의 컬럼을 위해 그것을 할 수 있고 오랜 시간이 걸릴 것이라고 말한다. 더 좋은 방법이 있습니까? 지금 당장 가지고있는 코드는 다음과 같습니다.많은 컬럼 중 SQL NULL이
Update table set column1 = 0 where column1 IS NULL
도움이나 아이디어가 도움이 될 것입니다. 감사합니다, 미셸
많은 컬럼에서 NULL 값을 가져야합니다. 나는 약간의 연구를 해왔지만 한 번에 하나의 컬럼을 위해 그것을 할 수 있고 오랜 시간이 걸릴 것이라고 말한다. 더 좋은 방법이 있습니까? 지금 당장 가지고있는 코드는 다음과 같습니다.많은 컬럼 중 SQL NULL이
Update table set column1 = 0 where column1 IS NULL
도움이나 아이디어가 도움이 될 것입니다. 감사합니다, 미셸
당신은 아마 이와 같은 것을 원할 것입니다.
요금 테이블 세트 컬럼 1 = COALESCE (컬럼 1, 0) = COALESCE 2 열 (2 열, 0)가 null 컬럼 1 또는 2 열은 NULL이고;
COALESCE 함수는 null이 아닌 첫 번째 숫자 값을 사용합니다. 즉, column1이 널 (NULL)이면 0이 g 용됩니다. 그러나 column1이 널 (NULL)이면 0이 사용됩니다.
OR 문을 사용하면 column1 또는 column2에 널 (NULL)이있는 행을 리턴하고 그에 따라이를 갱신 할 수 있습니다.
잘 모르겠 으면 여러 열을 교차하는 테이블에서 모든 null을 제거 하시겠습니까? 감사는 문제가없는 경우, 당신은 단지 같은 것을 할 수 있습니다 :
UPDATE [TABLE]
SET Column1 =
CASE
WHEN Column1 IS NULL THEN 0
ELSE Column1
END,
Column2 =
CASE
WHEN Column2 IS NULL THEN 0
ELSE Column2
END, ....
나는 나에게 SSMS 인스턴스가, 또는 내가 작업 데시벨 근처입니다하지 않습니다 (난 그냥 얼마 전에 내 상자를 다시 설치), 그러나 이것은 커서를 사용하는 좋은 시간이다. (이것은 일회성 요청 인 것 같다.) 여기에 구문 오류가 발생하면 용서 - 사람이 오류를보고하면, 편집 주시기 :)
DECLARE @sql NVARCHAR(MAX);
DECLARE @colName NVARCHAR(MAX);
DECLARE my_cur CURSOR FOR
SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('myTableName') AND name IN ('list', 'of', 'columns', 'you', 'care', 'about');
OPEN my_cur;
FETCH NEXT FROM my_cur INTO @colName;
WHILE @@FETCH_STATUS = 0 BEGIN
SET @sql = 'Update myTableName set ' + @colName +' = 0 where ' + @colName + ' IS NULL';
EXEC sp_executesql @sql;
FETCH NEXT FROM my_cur INTO @colName;
END
CLOSE my_cur;
DEALLOCATE my_cur;
UPDATE table
SET column1 = ISNULL(column1, 0)
,column2 = ISNULL(column2, 0)
WHERE column1 IS NULL
OR column2 IS NULL;
모든 SQL NULL 값을 업데이트 [의
가능한 중복 열 수준 WHERE 절을 사용하여 여러 열에서?] (http://stackoverflow.com/questions/3938958/update-all-sql-null-values-in-multiple-columns-using-column-level-where-clause) – Ryan
열 이름은 무엇입니까? –
이것은 어리석은 질문 일지 모르지만 여전히 SQL을 배우려고합니다. 나는 IS NULL이 부울을 반환하고 값을 대체하지 않는다고 들었습니다. 병합과 동일합니까? – Michelle