반응형
SQL은 동일한 테이블에있는 다른 열의 값과 동일한 한 열의 값을 설정합니다.
두 개의 DATETIME 열이있는 테이블이 있습니다.
그들 중 하나는 NULL이 아니지만 그중 하나는 때때로 NULL입니다.
B 열의 모든 NULL 행을 A 열의 값과 동일하게 설정하는 쿼리를 작성해야합니다.
이 예제를 시도했지만 MySQL Workbench가 UPDATE의 FROM을 좋아하지 않기 때문에 선택한 답변의 SQL 이 실행되지 않습니다.
하나의 테이블에서 작업하는 것처럼 들리므로 다음과 같습니다.
update your_table
set B = A
where B is null
UPDATE YourTable
SET ColumnB=ColumnA
WHERE
ColumnB IS NULL
AND ColumnA IS NOT NULL
나는 이렇게 할 것이다 :
UPDATE YourTable SET B = COALESCE(B, A);
COALESCE는 널이 아닌 첫 번째 인수를 리턴하는 함수입니다.
이 예에서 지정된 행의 B가 null이 아닌 경우 업데이트는 작동하지 않습니다.
B가 널이면 COALESCE는이를 건너 뛰고 대신 A를 사용합니다.
나는 다른 예가 당신이 찾고있는 것이라고 생각하지 않습니다. 동일한 테이블의 다른 열에서 한 열을 업데이트하는 경우 이와 같은 것을 사용할 수 있어야합니다.
update some_table set null_column = not_null_column where null_column is null
다음은 A 열을 B 열로 처리하는 데 도움이 될 수있는 샘플 코드입니다.
UPDATE YourTable
SET ColumnB = ColumnA
WHERE
ColumnB IS NULL
AND ColumnA IS NOT NULL;
반응형
'IT박스' 카테고리의 다른 글
@Override와 같은 주석은 Java에서 내부적으로 어떻게 작동합니까? (0) | 2020.10.14 |
---|---|
Bash를 사용하여 JAR에서 MANIFEST.MF 파일을 읽는 방법 (0) | 2020.10.14 |
UIView 외부에 테두리 추가 (내부 대신) (0) | 2020.10.14 |
AngularJS에서 $ log.debug를 켜고 끄는 방법 (0) | 2020.10.14 |
UIWebView에서 WKWebView로 마이그레이션 (0) | 2020.10.14 |