2016-06-10 9 views
1

내가SQLite는 날짜의 차이/날짜 빼기

혼란있어
select date('2016-12-31'), date('2016-12-31','-1 month'), date('2016-12-31','-2 month'); 

결과는

2016-12-31 2016-12-01 2016-10-31 

내가 놓친 뭔가가 있나요입니까? 나는 매달의 마지막 날짜를 얻을 필요가

2016-12-31 2016-11-31 2016-10-31 

을 기대하고있다.

+2

Rahul과 동의 함 ... 확인하고 싶다면 >> "날짜 선택 ('2016-12-30'), 날짜 ('2016-12-30', '-1 개월'), 날짜 ('2016-12-30', '- 2 개월'); –

답변

2

documentation이 잘 명확히됩니다

"± NNN 달"는 MM 월 값으로 ± NNN를 추가하는 YYYY-MM-DD 형식으로 원래 날짜를 렌더링하는 방식으로 작동하는 것으로

, 결과를 정규화하면 입니다. 따라서 예를 들어 '+1 월'으로 수정 된 2001-03-31 데이터는 처음에는 2001-04-31을 산출하지만 4 월에만 을 30 일로하여 날짜가 2001-05-01로 정규화됩니다.

+0

나는 아직도 그것을 얻지 않는다. 따라서 날짜가 '2016-12-31'인 경우이 날짜로부터 1 개월 후에 '2016-11-31 '을 얻는 방법은 무엇입니까? – rxlky

+0

그리고 그 반대도 마찬가지다. 2001-03-31 '+1 개월'에 의해 수정 됨 2001-05-01 대신 2001-04-31이 될 수있다. – rxlky

+0

알았어. 고마워. – rxlky