a, b, c, d라는 컬럼이 있고,
업데이트 시 새로운 @a, @b, @c, @d 값이 존재할 때만 각각의 컬럼들을 업데이트하고 싶을 때 간단하게 쿼리를 짤 수 있다.
UPDATE [테이블명]
SET a = CASE WHEN @a IS NOT NULL THEN @a ELSE a END,
b = CASE WHEN @b IS NOT NULL THEN @b ELSE b END,
c = CASE WHEN @c IS NOT NULL THEN @c ELSE c END,
d = CASE WHEN @d IS NOT NULL THEN @d ELSE d END,
빈스트링도 허용하지 않겠다하면
UPDATE [테이블명]
SET a = CASE WHEN @a IS NOT NULL OR @a = '' THEN @a ELSE a END
식으로 응용하면 된다.
반응형
'Database' 카테고리의 다른 글
쿼리로 랜덤한 문자열 생성 (0) | 2023.04.19 |
---|---|
중복행 지우는 쿼리 (0) | 2023.01.25 |
unique와 nonclustered index (0) | 2022.12.13 |
SQL SELECT문에서 @변수에 inline으로 값 할당하기 (0) | 2022.11.11 |
NTEXT와 NVARCHAR(MAX) 차이 (0) | 2022.11.01 |
댓글