인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

구구님의 프로필 이미지
구구

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 중급 SQL

Self JOIN 리트코드 문제풀이2 + MySQL 날짜 데이터 더하고 빼기

date 더하기 빼기 질문

작성

·

148

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 타입으로 변환하기 때문에 위와 같은 예외 상황이 발생 가능합니다.

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

감사합니다.

구구님의 프로필 이미지
구구

작성한 질문수

질문하기