이제는 Col A가 0인지 1인지에 따라 부울 값이있는 열 (예 : col A)이 있고 다른 열의 값을 써야합니다 (Col B). 두 개의 다른 열.조건을 기반으로 SQL Server의 열을 이동
예를 들어 Col A가 0이면 열 B의 값을 열 C에 쓰고 열 D는 비워야하고 1이면 열 B의 값을 열 D에 써야합니다 열 C는 공백이어야합니다).
쿼리에 포함 할 수 있습니까? 아니면 쿼리 결과를 파일로 가져 와서 스크립트를 실행해야합니까?
이제는 Col A가 0인지 1인지에 따라 부울 값이있는 열 (예 : col A)이 있고 다른 열의 값을 써야합니다 (Col B). 두 개의 다른 열.조건을 기반으로 SQL Server의 열을 이동
예를 들어 Col A가 0이면 열 B의 값을 열 C에 쓰고 열 D는 비워야하고 1이면 열 B의 값을 열 D에 써야합니다 열 C는 공백이어야합니다).
쿼리에 포함 할 수 있습니까? 아니면 쿼리 결과를 파일로 가져 와서 스크립트를 실행해야합니까?
업데이트 :
UPDATE yourtable SET
col_c = CASE
WHEN col_a = 0 THEN col_b
WHEN col_a = 1 THEN null
ELSE col_c END,
col_d = CASE
WHEN col_a = 0 THEN null
WHEN col_a = 1 THEN col_b
ELSE col_d END
col_a는 부울이며가 널 (Null) 값을 포함하면, 그대로 열 값을 둡니다.
이것은 간단한 CASE
표현처럼 보인다 : case 문에
SELECT ColA,
ColB,
CASE WHEN ColA = 0 THEN ColB END ColC,
CASE WHEN ColA = 1 THEN ColB END ColD
FROM dbo.YourTable;
사용 케이스 문 : 모든 가능한 값
SELECT
ColA,
ColB,
CASE ColA
WHEN 0 THEN ColB
ELSE ''
END AS Colc,
CASE ColA
WHEN 0 THEN ''
ELSE ColB
END AS ColD
From TableName
CASE 문.
declare @tab table
(
colA bit,
colB char(2)
)
insert into @tab values (0, 'xx');
insert into @tab values (1, 'yy');
insert into @tab values (null, 'zz');
insert into @tab values (0, null);
insert into @tab values (null, null);
Select colA, colB,
case when colA = 0 then colB end colC,
case when colA = 1 then colB end colD
from @tab
출력 :
0 xx xx NULL
1 yy NULL yy
NULL zz NULL NULL
0 NULL NULL NULL
NULL NULL NULL NULL
는 무엇을 시도했다과 함께 가능한 시나리오 및 예상 결과와 명확한 예제를 제공하기 위해 일부 샘플 입력과 욕망 출력 –
시도를 추가합니다. –
이것은 인서트입니까? 최신 정보? 고르다? –