create table a(
aid int primary key,
aname varchar2(20),
adate date,
atext varchar2(50)
);create sequence a1
start with 1
increment by 1;
create table b(
bid int primary key,
bname varchar2(20),
btype varchar2(10),
bdate date,
b_count int,
aid int references a(aid)
);create sequence b1
start with 1
increment by 1;
insert into a values(a1.nextval,'ly0',(to_date('2012-10-26','yyyy-mm-dd')),'aaa0');
insert into a values(a1.nextval,'ly1',(to_date('2012-10-25','yyyy-mm-dd')),'aaa1');
insert into a values(a1.nextval,'ly2',(to_date('2012-10-24','yyyy-mm-dd')),'aaa2');
insert into a values(a1.nextval,'ly3',(to_date('2012-10-23','yyyy-mm-dd')),'aaa3');
insert into a values(a1.nextval,'ly4',(to_date('2012-10-22','yyyy-mm-dd')),'aaa4');
insert into a values(a1.nextval,'ly5',(to_date('2012-10-21','yyyy-mm-dd')),'aaa5');
insert into a values(a1.nextval,'ly6',(to_date('2012-10-20','yyyy-mm-dd')),'aaa6');
insert into a values(a1.nextval,'ly7',(to_date('2012-10-19','yyyy-mm-dd')),'aaa7');
insert into a values(a1.nextval,'ly8',(to_date('2012-10-18','yyyy-mm-dd')),'aaa8');
insert into a values(a1.nextval,'ly9',(to_date('2012-10-17','yyyy-mm-dd')),'aaa9');
insert into a values(a1.nextval,'ly10',(to_date('2012-10-16','yyyy-mm-dd')),'aaa10');
insert into b values(b1.nextval,'lyb0','a',(to_date('2012-10-26','yyyy-mm-dd')),8,1);
insert into b values(b1.nextval,'lyb1','c',(to_date('2012-10-25','yyyy-mm-dd')),8,1);
insert into b values(b1.nextval,'lyb2','b',(to_date('2012-10-24','yyyy-mm-dd')),8,2);
insert into b values(b1.nextval,'lyb3','a',(to_date('2012-10-23','yyyy-mm-dd')),8,1);
insert into b values(b1.nextval,'lyb4','b',(to_date('2012-10-22','yyyy-mm-dd')),8,3);
insert into b values(b1.nextval,'lyb5','b',(to_date('2012-10-21','yyyy-mm-dd')),8,5);
insert into b values(b1.nextval,'lyb6','a',(to_date('2012-10-20','yyyy-mm-dd')),8,1);
insert into b values(b1.nextval,'lyb7','d',(to_date('2012-10-19','yyyy-mm-dd')),8,2);
insert into b values(b1.nextval,'lyb8','e',(to_date('2012-10-18','yyyy-mm-dd')),8,4);
insert into b values(b1.nextval,'lyb9','c',(to_date('2012-10-17','yyyy-mm-dd')),8,4);
insert into b values(b1.nextval,'lyb10','a',(to_date('2012-10-16','yyyy-mm-dd')),8,2);
insert into b values(b1.nextval,'lyb11','c',(to_date('2012-9-16','yyyy-mm-dd')),8,1);
insert into b values(b1.nextval,'lyb12','a',(to_date('2012-9-12','yyyy-mm-dd')),8,2);
insert into b values(b1.nextval,'lyb13','d',(to_date('2012-9-13','yyyy-mm-dd')),8,4);
insert into b values(b1.nextval,'lyb14','a',(to_date('2012-9-11','yyyy-mm-dd')),8,3);
commit;
--查詢當天的資料
select * from a where trunc(adate) = trunc(sysdate);
--查詢乙個星期的資料
--乙個星期的第一天
select trunc(sysdate,'d') from dual;
--乙個星期的最後一天
select next_day(trunc(sysdate,'d'),7) from dual;
--乙個星期之內的
select * from a where trunc(adate) >= trunc((select max(adate) from a),'d')
and trunc(adate ) <= next_day(trunc((select max(adate) from a),'d'),7)
--查詢乙個月的資料
select * from a where to_char(trunc(adate),'yyyymm') = to_char(trunc(sysdate),'yyyymm');
--b表中時間為2012-9的所有資料
select * from a where to_char(trunc(adate),'yyyymm') = to_char(trunc((select max(adate) from a)),'yyyymm');
--查詢出b表中type為a,b,c的所有和,和他們所佔的比例
select sum(b_count) from b where btype in('a','b','c');
select round((select sum(b_count) from b where btype in('a','b','c'))/(select sum(b_count) from b),4)*100||'%' from b;
--查詢每一行佔總的比例
select bid,bname,btype,bdate,b_count,aid,ratio_to_report(b_count) over() as scale from b;
oracle 查詢當天月份所有日期
一 最近遇到需求需要查詢一段時間的所有日期,作為基礎表外聯業務表來展現記錄,記錄每天的資料情況,研究之後做下記錄 1 查詢當前月份所有日期 2 查詢近1個月所有日期 select trunc add months sysdate,1 rownum 1 as daylist from dual con...
oracle查詢當天,一星期,當月的資料
hk學習筆記 有一天公司來了查乙個星期資料的需求 我花了乙個小時多才弄出來,所以記下來,下次遇到了,也記得.當天select from my table a where trunc create date trunc sysdate 當月的 select from my table a where ...
SQL 查詢當天,昨天,一周以內的資料
今天的所有資料 select from 表名 where datediff dd,datetime型別字段,getdate 0 昨天的所有資料 select from 表名 where datediff dd,datetime型別字段,getdate 1 7天內的所有資料 select from 表...