oracle怎么获取本月 oracle获取上个月

你知道oracle怎么查 本周,本月,和上月的数据吗

当月数据

创新互联公司长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为榆社企业提供专业的网站设计、成都做网站,榆社网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

select * from table t

where t.create_time

=TRUNC(SYSDATE, 'MM')

and

t.create_time=last_day(SYSDATE) create_time为你要查询的时间

当年数据

select * from table t

where t.create_time

=trunc(sysdate,'YYYY')

and

t.create_time=add_months(trunc(sysdate,'YYYY'),12)-1

本周(国外周日为一个星期第一天)

where t.create_time =trunc(sysdate,'day')+1 and

t.create_time=trunc(sysdate,'day')+6 本周(国内周一为一个星期第一天)

where t.create_time =trunc(next_day(sysdate-8,1)+1) and

t.create_time=trunc(next_day(sysdate-8,1)+7)+1

在oracle里,怎么取得本周,本月,本季度

select to_char(TO_DATE('20171123', 'YYYYMMDD'), 'yyyyiw') as week, --oracle求当年的第几周

to_char(TO_DATE('20171123', 'YYYYMMDD'), 'yyyyww') as week2, --oracle求当年的第几周

to_char(TO_DATE('20171123', 'YYYYMMDD'), 'yyyy') as year, --oracle求第几年

to_char(TO_DATE('20171123', 'YYYYMMDD'), 'yyyymm') as month, --oracle求当年的第几月

to_char(TO_DATE('20171123', 'YYYYMMDD'), 'yyyyddd') as day, --oracle求当年的第几天

to_char(TO_DATE('20171123', 'YYYYMMDD'), 'yyyyq') as quarter -- oracle求当年的第几季度

from dual

-----------

SELECT

to_char(sysdate,'day') 星期几,

to_char(SYSDATE,'ddd') 第几天,

to_char(SYSDATE,'ww') 第几周,

to_char(SYSDATE,'mm') 第几月,

to_char(SYSDATE,'q') 第几季

FROM dual

Oracle SQL 获取本月内的所有周一

最近遇到业务需求,需要按周统计数据。

思考再三想到可以使用每周周一来计算。

故写出如下获得系统当前月份所有周一的语句。

select * from (

--转化成周一去重

select distinct trunc(t.day,'iw') as mon from (

--获取本月所有日期集合

SELECT trunc(sysdate, 'mm') + LEVEL - 1 DAY

FROM DUAL

CONNECT BY trunc(sysdate, 'mm') + LEVEL - 1 =

last_day(trunc(sysdate))

)t

)a

--移除非本月的周一

where trunc(a.mon, 'mm') =  trunc(sysdate, 'mm')

ORDER BY MON

注:

trunc(sysdate,'iw') 语句可以获取本周周一的日期 (date类型)

trunc(sysdate,'iw') +1 可以获取本周周二的日期。

以此类推

(可以把sysdate换成其它时间)

Oracle 如何获得上个月或者下个的月份

SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'MM') AS 上月,

TO_CHAR(SYSDATE, 'MM') AS 本月,

TO_CHAR(ADD_MONTHS(SYSDATE, 1), 'MM') AS 下月

FROM DUAL

oracle如何获取当前月份,去掉前面的0

如果字符串只有开头有零,而字符串中间没有0,那么可以使用replace(字符串,'0','')

如果0开头最长的位数不长,那么可以逐个判断。

比如我可能知道这里面最长的就是连续5个0开头的,这样我就判断如果遇到5个0开头的就截掉前五位,4个0开头截掉前四位,3个0开头截掉前三位,一直到1,逐个判断使用case when可以完成.但是如果最长的0开头个数不确定,就比较麻烦了。


分享名称:oracle怎么获取本月 oracle获取上个月
新闻来源:http://myzitong.com/article/hishpp.html