oracle如何取当月 oracle取月份的函数

Oracle如何获得上个月的月份

oracle获得上个月的月份:

天宁网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联建站于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

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;

Oracle查询数据:查询当月的数据?

需要看日期字段存储的是字符还是日期类型的数据,方法略有不同

如果存储的是字符型(如2015-09-01类型的数据)字段,可用以下语句:

select * from 表名 where to_char(sysdate,'yyyy-mm')=substr(日期字段,1,7);

如果存储的是日期型字段,可用以下语句:

select * from 表名 where to_char(sysdate,'yyyy-mm')=to_char(日期字段,'yyyy-mm');

所用函数说明:

to_char在语句中是将日期转为字符的函数,格式则为函数中设定的'yyyy-mm'格式。

sysdate代表当前日期时间,是日期型数据。

substr是截取函数,第一个参数为要截图的字段,第二个参数为截取的起始位,第三个参数代表截取的长度。

ORACLE 获取当月时间查询安周分组

闲着无聊给你写了个函数

create function FN_TEST_DATE(i_time date)

return int as

v_int varchar2(10);

v_int1 varchar2(10);

v_int2 varchar2(10);

begin

v_int1:=7-to_char(TRUNC(i_time,'mm') ,'D')+1;

v_int2:=to_number(substr(to_char(i_time,'yyyymmdd'),7,2));

if v_int2=to_number(v_int1) then

v_int:=1;

elsif v_int2=v_int1+7 then

v_int:=2;

elsif v_int2=v_int1+14 then

v_int:=3;

elsif v_int2=v_int1+21 then

v_int:=4;

elsif v_int2=v_int1+28 then

v_int:=5;

else

v_int:=6;

end if;

return(v_int);

end;

--参数规范性就没管了,统计一个月直接调用然后分组,统计多个月的,再按月份分组就行

select FN_TEST_DATE(sysdate) from dual --查看当前时间是本月第几周

oracle取出某个月的所有数据

1、查询确定年月的数据,使用to_date或to_char都可以实现

SELECT * FROM 表名

WHERE TO_CHAR(日期列,'YYYY-MM') = TO_CHAR('2013-06','YYYY-MM')   或者

SELECT * FROM 表名

WHERE 日期列 = TO_Date('2013-06','YYYY-MM')

2、查询前一个月

select concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-'),'01 00:00:00')start_time,   

concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-')||to_char(LAST_DAY(sysdate),'dd '),'23:59:59') end_time     from dual

3、查询前一天

select to_char(sysdate-1,'yyyy-mm-dd ')||'00:00:00' start_time,to_char(sysdate-1,'yyyy-mm-dd ')||'23:59:59' end_time  from dual


本文名称:oracle如何取当月 oracle取月份的函数
网页地址:http://myzitong.com/article/hhoocj.html