从月份和年份开始的第一个日期和最后一个日期

从月份和年份开始的第一个日期和最后一个日期

问题描述:

如何通过给出输入参数为月份来获取oracle中的第一个日期和月份的最后一个日期。从月份和年份开始的第一个日期和最后一个日期

例如,如果我将输入月份设置为'Jan'和Year'2016',那么它应该给出该月份的第一个日期和最后一个日期。

您可以使用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 
+0

嗨...在这里我不会有日期作为参数....我会得到月份和年份....我需要找到每月的第一天和最后一天 – user2986540

您可以使用TRUNCLAST_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