전자결재 시스템을 만드는데, 기존데이터를 수정할때 이렇게 하니 동작해서 기록으로 남겨둡니다.
SELECT * FROM `eworks` WHERE 1
위의 sql문장에서 필드명이 'registdate'의 값이 null 이거나 '0000-00-00'인 경우,
outdate의 필드값을 넣는 sql 문장 작성해줘.
SQL 문장을 작성하기 위해서는 CASE 문 또는 IF 함수를 사용할 수 있습니다. 이 경우, UPDATE 구문을 사용하여 eworks 테이블에서 registdate 필드의 값이 NULL 이거나 '0000-00-00' 인 경우 outdate 필드의 값을 registdate로 설정하는 것이 적절해 보입니다. 아래는 이를 위한 SQL 문장 예시입니다:
sql 내용:
UPDATE `eworks`
SET `registdate` = CASE
WHEN `registdate` IS NULL OR `registdate` = '0000-00-00' THEN `outdate`
ELSE `registdate`
END;
이 SQL 문장은 eworks 테이블의 모든 행에 대해 registdate 필드를 검사하고, 만약 그 값이 NULL 이거나 '0000-00-00' 인 경우에는 outdate 필드의 값을 registdate로 설정합니다. 그렇지 않은 경우에는 registdate 필드의 원래 값을 유지합니다.
반응형
'IT tech Coding > mysql' 카테고리의 다른 글
[sql] 테이블을 그대로 복사하고 내용도 복사하는 sql 명령어는? (0) | 2024.05.21 |
---|---|
mysql에서 저장형태를 json 제공해 주는 버전은 몇부터 인가? (0) | 2024.04.27 |
mysql 두개의 테이블에 join해서 처리하는 방법 연구 (0) | 2024.01.05 |
[mysql] 날짜가 어제인 경우를 추출하는 간단한 코드 (0) | 2023.11.24 |
웹사이트 방문자를 기록하기 위한 sql DB 생성 (0) | 2023.08.27 |