Oracle如何获得上个月的月份

用selectto_char(sysdate,'mm')-1monthfromdual语句可以获得除一月份以外的上一个月份,但一月份的上一个月份怎么获得啊。... 用select to_char(sysdate,'mm')-1 month from dual语句可以获得除一月份以外的上一个月份,但一月份的上一个月份怎么获得啊。 展开
 我来答
百度网友4694af1
推荐于2019-08-23 · TA获得超过1261个赞
知道答主
回答量:14
采纳率:0%
帮助的人:2676
展开全部

oracle获得上个月的月份:

select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;

oracle获得下个月的月份:

select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;

oracle获得上个月的第一天日期:

select data_dt ,ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1)  from a_web_visit_origin;

oracle获得上个月的第一天日期(符合当地的日期格式):

select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1),'YYYY-MM-DD')  from a_web_visit_origin;

oracle获得上个月当天日期:

select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD') ),-1),'YYYY-MM-DD')  from a_web_visit_origin;

select data_dt ,ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1)  from a_web_visit_origin;

oracle获得上个月的第一天日期(符合当地的日期格式):

select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1),'YYYY-MM-DD')  from a_web_visit_origin;

oracle获得上个月当天日期:

select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD') ),-1),'YYYY-MM-DD')  from a_web_visit_origin;

扩展资料:

日期和字符转换函数用法(to_date,to_char):

日期转化为字符串:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;

获取时间的年:  select to_char(sysdate,'yyyy') as nowYear   from dual;  

获取时间的月: select to_char(sysdate,'mm')    as nowMonth from dual;

获取时间的日:select to_char(sysdate,'dd')    as nowDay    from dual;

获取时间的时:select to_char(sysdate,'hh24') as nowHour   from dual;

获取时间的分:select to_char(sysdate,'mi')    as nowMinute from dual;  

获取时间的秒:select to_char(sysdate,'ss')    as nowSecond from dual;

chengynecsl
2009-02-25 · TA获得超过180个赞
知道小有建树答主
回答量:118
采纳率:100%
帮助的人:120万
展开全部
select to_char(ADD_MONTHS(sysdate,-1), 'MM') month from dual;
这个回来的是01,02------12
如果现在是1月,那么它回来的自动是12 恶简单的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanweikai
推荐于2017-10-01 · TA获得超过300个赞
知道答主
回答量:78
采纳率:0%
帮助的人:83.9万
展开全部
这个要用到add_months()函数 参数 负数 代表 往前 正数 代表 往后。
select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;
--上一个月
select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;
--下一个月
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2009-02-25 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2596万
展开全部
select to_date(sysdate,'mm')-1 month from dual
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
厍曼冬6o
2009-02-25 · TA获得超过1569个赞
知道小有建树答主
回答量:1336
采纳率:0%
帮助的人:1208万
展开全部
select to_char(add_months(sysdate,-2),'mm') from dual;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式