oracle怎么查询周期 Oracle时间查询

oracle怎么查询上周的数据(例如今天是周日,我要查询出上个周一到周日的数据)

--1、取某天在本周中的第几天(默认周日开始算第1天)

公司专注于为企业提供成都网站制作、做网站、外贸营销网站建设、微信公众号开发、商城建设小程序开发,软件定制开发等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联公司更提供一系列网站制作和网站推广的服务。

select to_char(to_date('2011-04-11','yyyy-mm-dd'), 'd') from dual;

--2、如果要从周一开始算第1天,需要做一些手脚

--大概思路是:1变成7,2变成1,3变成2......,7变成6

select decode(to_char(to_date('2011-04-04', 'yyyy-mm-dd'), 'd'),

1,

7,

to_char(to_date('2011-04-04', 'yyyy-mm-dd'), 'd') - 1)

from dual;

--3、再根据上面的结论倒推到上周时间

select to_date('2011-04-04', 'yyyy-mm-dd') -

decode(to_char(to_date('2011-04-04', 'yyyy-mm-dd'), 'd'),

1,

7,

to_char(to_date('2011-04-04', 'yyyy-mm-dd'), 'd') - 1) - 7 + 1,

to_date('2011-04-04', 'yyyy-mm-dd') -

decode(to_char(to_date('2011-04-04', 'yyyy-mm-dd'), 'd'),

1,

7,

to_char(to_date('2011-04-04', 'yyyy-mm-dd'), 'd') - 1) - 7 + 1 + 6

from dual;

oracle怎么查询时间?

写法有很多种,例如下面的:

方法一:select * from dual where time between to_date('2012-06-18 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2012-06-18 23:59:59','yyyy-mm-dd hh24:mi:ss');

方法二:select * from dual where to_char(time,'yyyy-mm-dd')='2012-06-18';

方法三:select * from dual where trunc(time)=to_date('2012-06-18','yyyy-mm-dd');

当然楼主也可以按上面的先转换下日期的显示格式再查询撒,都可以的,呵呵!!!

oracle怎么查一年有多少天?

用sql的查询方法是,例如您需要查询2009年有多少天,用sql表达为

select to_date('20091231','yyyymmdd') - to_date('20090101','yyyymmdd') + 1 from dual

查询出来的结果就是yyyy这一年有多少天

Oracle中查周期,上个月23号--本月22为一个月,怎样查?谢谢啦!

WHERE DATE=TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-2))+23,'DD')

AND DATE=

TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1))+22,'DD')

求写一个oracle函数,关于周期

create or replace function get_week_start_end(v_date in date) return varchar2 is

v_datev_week varchar2(512);

begin

select '你录入的时间为'||v_date||'。'||

'本周的第一天时间为:'||

to_char((trunc(v_date,'yyyy')+to_number(to_char(v_date,'ww'))*7-7),'yyyy-mm-dd')

||'本周期的最后一天为:'||

to_char((trunc(v_date,'yyyy')+to_number(to_char(v_date,'ww'))*7-1),'yyyy-mm-dd')

into v_datev_week from dual;

return(v_datev_week);

end get_week_start_end;

/

--以上是方法

必须传入日期哦(也可以更改一下直接传入字符),测试查询语句

select get_week_start_end(to_date('2014-10-10','yyyy-mm-dd')) from dual;


标题名称:oracle怎么查询周期 Oracle时间查询
文章出自:http://myzitong.com/article/hghhcp.html