• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

date 더하기 빼기 질문

20.10.20 09:41 작성 조회수 98

3

SELECT TODAY.ID AS Id 
FROM WEATHER AS TODAY
    INNER JOIN WEATHER AS YESTERDAY ON TODAY.RECORDDATE - 1 = YESTERDAY.RECORDDATE
WHERE TODAY.TEMPERATURE > YESTERDAY.TEMPERATURE;

저는 recordDATE에 -1 하니까 결과는 잘 나오는데
1 더하는 경우에만 안되는건가요?

답변 1

답변을 작성해보세요.

0

안녕하세요 구구님

`today.recordDate`의 값이 '2015-01-31'일 경우 아래와 같은 연산결과가 반환됩니다.

  • `DATE_ADD(today.recordDate, INTERVAL 1 DAY)` 의 결과 : '2015-02-01'
  • `today.recordDate + 1`의 결과 : '20150132'

문의하신 케이스이 경우 +1 연산을 하기 위해 today.recordDate를 자동으로 int 타입으로 변환하기 때문에 위와 같은 예외 상황이 발생 가능합니다.

궁금증이 해결되셨길 바랍니다.

감사합니다.