\--
\-- 데이터베이스: `mirae8440`
-----------------------
---
\--
\-- 테이블 구조 `eworks`
-------------------
CREATE TABLE `eworks` (
`num` int(11) NOT NULL,
`is_deleted` tinyint(1) DEFAULT NULL,
`status` text,
`done` text,
`e_viewexcept_id` text NOT NULL,
`eworks_item` text NOT NULL,
`e_title` text,
`contents` text,
`registdate` datetime DEFAULT NULL,
`e_line` text,
`e_line_id` text,
`e_confirm` text NOT NULL,
`e_confirm_id` text NOT NULL,
`r_line` text NOT NULL,
`r_line_id` text NOT NULL,
`recordtime` datetime DEFAULT NULL,
`author` text,
`author_id` text,
`al_askdatefrom` date DEFAULT NULL,
`al_askdateto` date DEFAULT NULL,
`al_item` text NOT NULL,
`al_part` text NOT NULL,
`al_usedday` text NOT NULL,
`al_content` text NOT NULL,
`which` text,
`outdate` date DEFAULT NULL,
`requestdate` date DEFAULT NULL,
`indate` date DEFAULT NULL,
`outworkplace` text,
`steel_item` text,
`spec` text,
`steelnum` text,
`company` text,
`request_comment` text,
`model` text,
`first_writer` text,
`update_log` text,
`supplier` varchar(12) DEFAULT NULL,
`suppliercost` text,
`inventory` text,
`payment` text,
`store` varchar(30) DEFAULT NULL COMMENT '품의서 구매처'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
위의 테이블에서 eworks\_item = '연구노트' 인 경우는 indate의 날짜를 현재의 저장된 날짜에서 이틀전으로 수정하고 싶다.
eworks 테이블에서 eworks_item = '연구노트'인 행들의 indate 값을 현재 저장된 날짜 기준으로 이틀 전 날짜로 업데이트하려면, 아래와 같은 SQL 구문을 사용하면 됩니다:
UPDATE eworks
SET indate = DATE_SUB(indate, INTERVAL 2 DAY)
WHERE eworks_item = '연구노트' AND indate IS NOT NULL;
설명:
- DATE_SUB(indate, INTERVAL 2 DAY)는 기존 indate에서 2일을 빼는 함수입니다.
- indate IS NOT NULL 조건은 indate가 NULL인 경우에는 연산이 불가능하므로 필터링합니다.
- eworks_item = '연구노트' 조건으로 대상 행을 제한합니다.
필요시 실행 전에 SELECT로 확인해 보세요:
SELECT num, indate FROM eworks
WHERE eworks_item = '연구노트';
이렇게 하면 잘못된 갱신을 방지할 수 있습니다.
이외에 indate가 CURRENT_DATE()로부터 기준이 되어야 한다면 방식이 달라지니 알려주세요.
연구노트 indate 날짜 자동 수정하는 SQL 방법! 실무에 꼭 필요한 꿀팁
연구노트를 작성하면서 날짜 처리를 자동화하고 싶은 적 없으셨나요?
특히 indate를 기준으로 날짜를 조정해야 하는 상황이라면 매번 수작업으로 수정하는 건 꽤나 번거로운 일이죠. 오늘은 이 분야 전문가가 실무에서 자주 사용하는 SQL 업데이트 쿼리를 통해, 연구노트 작성 시 indate 날짜를 현재 저장된 날짜 기준으로 이틀 전으로 수정하는 방법을 알려드릴게요.
SQL 문법에 익숙하지 않더라도 이 글을 끝까지 보신다면, 여러분도 바로 적용하실 수 있을 거예요.
왜 연구노트 날짜를 수정해야 할까?
기업이나 연구소에서는 연구노트를 전산으로 관리할 때, 종종 날짜 기준을 조정해야 할 필요가 생깁니다.
예를 들어 실제 작성일은 이틀 전인데, 시스템에 오늘 날짜로 저장된 경우 정확한 기록을 위해 날짜를 수정해야 하죠.
하지만 모든 데이터를 수작업으로 바꾸는 건 비효율적이기 때문에, SQL 문법을 이용해 한 줄로 자동화하면 훨씬 더 편리합니다.
핵심 SQL 쿼리: 이틀 전 날짜로 indate 수정하기
먼저 아래 쿼리를 확인해볼게요. 이 쿼리는 eworks 테이블에서 eworks_item이 '연구노트'인 데이터의 indate를 2일 전으로 자동 수정합니다.
UPDATE eworks
SET indate = DATE_SUB(indate, INTERVAL 2 DAY)
WHERE eworks_item = '연구노트' AND indate IS NOT NULL;
핵심 포인트는 DATE_SUB 함수입니다.
이 함수는 날짜에서 특정 기간을 빼주는 역할을 하죠. 위 코드에서는 indate 값에서 2일을 빼고 있어요.
또한 indate IS NOT NULL 조건을 추가하여, 값이 비어 있지 않은 경우에만 수정되도록 안전하게 처리했습니다.
실무에서 이 쿼리를 어떻게 활용할 수 있을까?
이 분야 전문가에 따르면, 이 쿼리는 다음과 같은 상황에서 유용하게 활용된다고 해요:
- 연구노트가 자동 저장되면서 오늘 날짜가 저장될 때
- 실제 작성일과 저장일이 다를 때
- 특정 기간 내 작성된 노트를 일괄 조정할 때
즉, 정확한 타임라인 관리를 위해 날짜 정리는 꼭 필요한 작업이라는 거죠.
복수 조건도 추가 가능할까? 예시와 함께 살펴보기
물론 가능합니다. 예를 들어 status 컬럼이 '완료' 상태일 때만 수정하고 싶다면 조건을 아래처럼 추가할 수 있어요:
UPDATE eworks
SET indate = DATE_SUB(indate, INTERVAL 2 DAY)
WHERE eworks_item = '연구노트'
AND status = '완료'
AND indate IS NOT NULL;
실제 운영환경에서는 조건을 좀 더 세밀하게 설정하는 것이 중요합니다. 잘못된 데이터 수정은 되돌리기 어렵기 때문이죠.
실행 전에는 꼭 확인! SELECT 쿼리로 미리 검토하세요
아무리 간단한 쿼리라도 바로 실행하면 위험할 수 있어요.
그래서 먼저 아래처럼 SELECT로 대상 데이터를 확인해보는 걸 추천드립니다:
SELECT num, indate FROM eworks
WHERE eworks_item = '연구노트' AND indate IS NOT NULL;
이렇게 하면 수정 대상이 정확히 어떤 데이터인지 눈으로 확인할 수 있으니 실수를 줄일 수 있겠죠.
이런 SQL 자동화는 장기적으로 큰 시간 절약이 된다
처음에는 사소한 쿼리처럼 느껴질 수 있지만, 이런 자동화 작업이 쌓이면 업무 효율이 확연히 올라갑니다.
특히 반복적인 수작업을 줄일 수 있기 때문에 데이터 정확성과 관리 편의성도 함께 높아져요.
이 분야 전문가도 “SQL을 잘 활용하는 것만으로도 실무에서 두세 배는 더 빠르게 업무를 처리할 수 있다”고 말합니다.
데이터를 다루는 모든 분들께
이번 SQL 팁이 실무에 정말 도움이 되었으면 좋겠어요.
작은 습관 하나가 데이터 정확성과 업무 효율성을 결정짓는다는 걸 잊지 마세요!
#연구노트, #SQL쿼리, #날짜자동수정, #데이터관리, #인데이트수정, #eworks, #개발팁, #업무자동화, #DB관리, #MYSQL팁
'IT tech Coding > mysql' 카테고리의 다른 글
PHP에서 JSON 데이터를 MariaDB에 저장할 때 주의할 점 (최대 문자수와 예외 처리) (0) | 2025.05.14 |
---|---|
오류: SQLSTATE[HY093]: Invalid parameter number 해결하기 (0) | 2025.03.23 |
DELETE와 TRUNCATE의 차이점, 언제 어떤 걸 써야 할까? (0) | 2025.02.23 |
PHP MySQL 검색 기능: 테이블 전체 컬럼에서 자동으로 검색하는 방법 (0) | 2025.02.16 |
PHP에서 Prepared Statement로 검색 결과가 나오지 않을 때 확인해야 할 점들 (0) | 2025.01.20 |