가령 이사람의 나이가 다음달 10일 기준으로 몇살인지 궁금하다면
어떻게 계산하나요? 이를테면,
오늘이 1/15일인데, 생일이 1/20일이라면,
2/10 일부터 생일을 빼서, 만으로 몇살인지를 알아야 하는데요..
매달 이런일이 발생하기때문에, function 을 만들고 싶습니다.
어떻게하면 좋을까요? 부탁드립니다.
template1=# select split_part(age('1990-01-20'::date),'years',1); split_part ------------ 13 (1 row) template1=# select split_part(age('2004-02-10'::date, '1990-01-20'::date),'years',1); split_part ------------ 14 (1 row)
이렇게 풀면 되는 건가요? age() 함수 잘 살펴보세요.
감사합니다.. age() 를 사용하면 되는군요.
그런데요, 언제든지 이 펑션을 부르면 다음달 10일이 나오도록 할려면
어떻해야 할까요?
get_next(date) 하면, 다음달 10일이 나오도록 말이죠..
부탁드립니다.. 꾸뻑.
template1=# select split_part(age(to_date(to_char(now() + interval '1 month','YYYY-MM-10'),'YYYY-MM-DD'), '1990-01-20'::date),'years',1); split_part------------ 14(1 row)
핵심은 오늘로부터 다음달 10일을 날짜로 만드는 방법인데,
이놈은
to_date(to_char(now() + interval '1 month','YYYY-MM-10'),'YYYY-MM-DD')
이렇게 to_date 함수와 +, - interval 날짜 연산을 이용합니다.
정말 감사합니다.
너무 잘 작동합니다.
감동적인 답변에 감사드리면서..