프로그램

mysql 에서 날짜 하루 추가해서 업데이트하는 쿼리

네오류이 2025. 9. 24. 10:37
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형

MySQL에서 날짜를 하루 추가해서 업데이트하는 쿼리는 DATE_ADD() 함수를 사용하면 돼! 이 함수는 날짜에 특정 시간 간격을 더할 수 있게 해줘.

기본 구문은 이렇게 작성하면 돼:

sql

UPDATE 테이블명
SET 날짜컬럼 = DATE_ADD(날짜컬럼, INTERVAL 1 DAY)
WHERE 조건;

예를 들면:

sql

UPDATE users
SET expiration_date = DATE_ADD(expiration_date, INTERVAL 1 DAY)
WHERE user_id = 123;

현재 날짜를 기준으로 하루를 더하고 싶다면:

sql

UPDATE users
SET expiration_date = DATE_ADD(NOW(), INTERVAL 1 DAY)
WHERE user_id = 123;

DATE_ADD 함수는 다양한 시간 단위(YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND 등)를 지원하니까 필요에 따라 다른 시간 단위로도 조정할 수 있어. 

혹시 특정 조건에 맞는 여러 행을 한 번에 업데이트하고 싶다면 WHERE 절에 적절한 조건을 지정하면 돼!

 

 

mysql에서 날짜의 요일까지 표시하려면

 

MySQL에서 날짜의 요일까지 표시하려면 DATE_FORMAT 함수를 사용하면 돼!

가장 기본적인 방법은 이렇게:

sql

SELECT DATE_FORMAT(날짜컬럼, '%Y-%m-%d %W') FROM 테이블명;

여기서 %W는 요일을 영문 전체 이름(Sunday, Monday 등)으로 표시해줘. 다양한 포맷 옵션이 있어:

  • %W : 요일 전체 이름 (Sunday, Monday...)
  • %a : 요일 약어 (Sun, Mon...)
  • %w : 요일 숫자 (0=일요일, 1=월요일...)

예시:

sql

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %W') AS '날짜와 요일';
-- 결과: 2025-09-02 Tuesday

SELECT DATE_FORMAT(NOW(), '%Y년 %m월 %d일 %W') AS '날짜와 요일';
-- 결과: 2025년 09월 02일 Tuesday

한글로 요일을 표시하고 싶다면 CASE 문을 활용해서:

sql

SELECT 
  DATE_FORMAT(NOW(), '%Y-%m-%d'),
  CASE DAYOFWEEK(NOW())
    WHEN 1 THEN '일요일'
    WHEN 2 THEN '월요일'
    WHEN 3 THEN '화요일'
    WHEN 4 THEN '수요일'
    WHEN 5 THEN '목요일'
    WHEN 6 THEN '금요일'
    WHEN 7 THEN '토요일'
  END AS '요일'
FROM 테이블명;

DAYOFWEEK() 함수는 일요일을 1로, 토요일을 7로 반환해. WEEKDAY() 함수는 월요일을 0으로, 일요일을 6으로 반환하니 상황에 맞게 사용하면 좋을 것 같아! 

728x90
반응형