티스토리 뷰

반응형

전자결재 시스템을 만드는데, 기존데이터를 수정할때 이렇게 하니 동작해서 기록으로 남겨둡니다.

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 필드의 원래 값을 유지합니다.






반응형
댓글