如何通过将输入参数作为月份来获取oracle中的第一个日期和月份的最后日期。
例如。如果我将输入月作为' Jan'和年份' 2016'它应该给出该月的第一个日期和最后日期。
答案 0 :(得分:2)
您可以使用TRUNC:
第一天:
TRUNC(your_date, 'MM')
最后一天:
ADD_MONTHS(TRUNC(your_date, 'MM'), 1) - 1
你基本上把这个月的TRUNC推到第一天,加上一个月来获得下个月的第一天,然后回去一天。
如果您没有月份中的日期而只有月份和年份,您只需使用每月的第一天来构建日期:
TO_DATE('1.' || your_month || '.' || your_year, 'DD.MM.YYYY')
ADD_MONTHS(TO_DATE('1.' || your_month || '.' || your_year, 'DD.MM.YYYY'), 1) - 1
答案 1 :(得分:0)
您可以使用TRUNC
和LAST_DAY
功能来实现此目的。
select TRUNC(d,'MM'), LAST_DAY(d)
from (select to_date('01-2016','MM-YYYY') as d from dual);
01-JAN-2016 00:00:00 31-JAN-2016 00:00:00