2014-03-30 2 views
0

내 검색어는 한 달에 한 번 입력해야합니다. 예 : 입력이 'MAR'이 될 경우 3 월의 첫 번째 날짜와 마지막 날짜를 가져와야합니다. 모든 사람이 도와주세요oracle의 입력으로 월별 날짜를 얻는 방법은 무엇입니까?

select to_char(trunc(trunc(sysdate, 'MM'), 'MM'),'DD-MON-YYYY') "First Day of Last Month" 
     , to_char(trunc(sysdate, 'MM') ,'DD-MON-YYYY') "Last Day of Last Month" 
from dual ; 

..

+0

([PL/SQL을 사용하여 최종 dateof 월]의 중복 가능성 http://stackoverflow.com/questions/20680985/last-dateof- month-using-pl-sql) – APC

답변

1
month_start := to_date('MAR', 'MON'); 
month_end := last_day(month_start); 
  • 월 이름은 그래서 그들을 조정할 필요가있다 NLS 언어/지역의 특성에 따라 달라집니다. (세션 집합을 nls_language/nls_territory = AMERICAN/AMERICA로 변경하십시오).
  • 올해는 무엇인지 언급하지 않았으므로 현재 상황이 필요하다고 가정합니다.

해는 가변 입력되는 경우

month_start := to_date('2015-MAR', 'yyyy-MON'); 
+0

감사합니다, 그래서 우리가 특정 해를 원한다면 ?? – kartik

+0

특정 연도, 예 :'to_date ('2013-SEP', 'yyyy-MON') ' – Yavor

+0

@kartik, 이름 대신 숫자로 된 월을 갖는 것에 동의 할 수 있다면 (예 : MAR 대신에 03) : 언급 된 NLS 번거 로움. – Yavor

관련 문제