第1个回答 2017-06-19
想要第一天可以用to_date(201502,'yyyymm'),结果就是2015-02-01就是2月第一天,但是是日期格式的,想转回去再to_char就是
最后一天也好办,to_date得到第一天后-1就是上个月最后一天,如果你想得到2月最后一天,就(to_number('201502')+1)得到3月,再to_date得到03-01,再-1就是2月最后一天
详细代码我就不写了我相信给了你思路你就明白代码怎么写了,我也相信这样讲解对你更有帮助
第2个回答 2015-03-03
select xxx from web_date where year_month between last_day(add_months(to_date(concat(&x,'15'),'yyyy-mm-dd'),-1))+1 and last_day(to_date(concat(&x,'15'),'yyyy-mm-dd'));
例子
SQL> select last_day(add_months(to_date(concat(&x,'15'),'yyyy-mm-dd'),-1))+1,last_day(to_date(concat(&x,'15'),'yyyy-mm-dd')) from dual;
输入 x 的值: 201502
输入 x 的值: 201502
原值 1: select last_day(add_months(to_date(concat(&x,'15'),'yyyy-mm-dd'),-1))+1,last_day(to_date(concat(&x,'15'),'yyyy-mm-dd')) from dual
新值 1: select last_day(add_months(to_date(concat(201502,'15'),'yyyy-mm-dd'),-1))+1,last_day(to_date(concat(201502,'15'),'yyyy-mm-dd')) from dual
LAST_DAY(ADD_M LAST_DAY(TO_DA
-------------- --------------
01-2月 -15 28-2月 -15
第3个回答 2015-03-03
SELECT trunc(sysdate,'mm'),add_months(trunc(sysdate,'mm'),1)-1 FROM DUAL