oracle怎么根据日期或者第几周获取月份

2024-11-13 14:35:30
推荐回答(2个)
回答1:

获取月(两位):select to_char(sysdate,'mm') from dual
那你就把指定的日期to_date()成date,如下:
select to_char(to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'mm') from dual

回答2:

SQL> select to_char(to_date('2015-02-11','yyyy-mm-dd'),'mm') yf from dual;

YF
--
02

SQL> select to_char((to_date('2015-01-02','yyyy-mm-dd')+(7-to_char(to_date(2015-01-02','yyyy-mm-dd'),'d'))+4*7),'mm') from dual;

TO
--
01

(to_date('2015-01-01','yyyy-mm-dd') 算出1月1 号是周几
(7-to_char(to_date(2015-01-01','yyyy-mm-dd'),'d'))  算出第一周还剩的天数
+4*7 再加上4周
最后再取月份 不一定准确 有的周跨月 稍麻烦一点 要改下