Oracle 日期分页

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

select * from  li.books  where book_publish_date between  '1-2月-2005' and '1-2月-2010';
select * from  books where book_price between  50 and 60;
select * from books where catalog_id in (select catalog_id from catalogs where catalog_name='数据库');
select * from catalogs;
---dual 表
select * from dual;

-获取oracle 的系统日期
select sysdate from dual;
--为前日期增加10天
select sysdate+10 from dual;

select (select  from dual)+10 from dual;
--日期函数
select add_months(sysdate,4)  from dual;
select add_months('2-2月-1990',4) from dual;
-获取指定月份的最后一天
select last_day(sysdate) from dual;
select last_day('2-2月-2014') from dual;
---计算两个月之间相差几个月
select months_between(sysdate,'27-4月-2014') from dual;

----日期的四舍五入
---按年
select round(sysdate,'year') from dual;
--按月
select round(sysdate,'month') from dual;
select round((select to_date('1987-4-15','yyyy-MM-dd') from dual),'month') from dual;
select to_date('1987-3-1','yyyy-MM-dd') from dual

--按周
select round(sysdate,'day') from dual;

--next_day 的使用, 获取指定日期的下一天所在的日期

select next_day(sysdate,2) from dual; 下一周的第几天;
select next_day('27-8月-2014',2) from dual;
 
 --阶段当前日期
 --按年
 select trunc(sysdate,'year') from dual;
 
 --按月
 select trunc(sysdate,'month') from dual;
 
 --按周
 select trunc(sysdate,'day') from dual;
 
 --比较一组数字中的最大值
 select greatest(12,22,33,13,45,5) from dual;
 select greatest (
 '12-5月-2014',
 '12-12月-2011',
 '12-3月-2000'
 ) from dual;
 
---字符串函数的使用
--截断字符串(从第N个字符开始截取,截取的长度为M个字符)
select  substr('helloworld',3,5) from dual;
--获取指定字符串中的字符位置
select instr('hello','o') from dual;

--获取字符串的长度
select length('liuhuahua') from dual;

--转换函数
--将其他类型的数据转为字符串(最常用的是日期转字符串)
--日期转字符串
select to_char(sysdate,'yyyy-mm-dd') from dual;

select sysdate from dual;
--将数字转为字符串
select to_char(9898.33,'$99999.999') from dual;
--将其他数据转为日期格式(通常是将字符串转为日期)
select to_date('1987-3-1','yyyy-MM-dd') from dual;

--日期比大小,获取一组日期的最大值
select greatest(
to_date('2024-4-22','yyyy-MM-dd'),
to_date('2024-5-1','yyyy-MM-dd'),
to_date('2014-12-22','yyyy-MM-dd')
) from dual;

select '4'+'5' from dual;
select 4+5 from dual;
--获取用户的登陆ID
select uid from books;
select user from dual;

--聚合函数
select sum(book_price) from books; 
select count(book_id) from books;

---oracle的分页显示
  select * from (select books.* ,rownum  r from books where rownum<=6) where r>2;
  select books.*, rownum  from books where  rownum<=5;
  
  ---group by 
  select catalog_id from books order by catalog_id;
  select * from books;
  ---having 
  select catalog_id,sum(book_price) from books group by catalog_id  having sum(book_price)>=100 order by catalog_id;