1,mysql中的【IFNULL】与 ORACLE 中的 【NVL】用法区别
在mysql中:
IFNULL(expr1,expr2)的用法:
如果expr1为NULL,则返回expr2;否则返回expr1值本身。
oracle中:
nvl(expr1,expr2)
如果expr1为NULL,则返回expr2,否则返回expr1值本身。(与mysql的IFNULL类似)。
nvl2(x,value1,value2)
如果x不为NULL,返回value1,否则,返回value2。
2,mysql和Oracle【分页】的区别
mysql中:
用 LIMIT 就可以实现分页:
select * from table limit m,n
其中m是指记录开始的index,是基零的,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,共4条记录
扩展:
、、为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96 至 last
、、如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行
Oracle中:
1,数据库分页:每次查询出需要显示的数据
select *
from(
select rownum rn,empno,ename,job,hiredate,sal
from emp
where rownum<=5)
where rn>=1;
select *
from(
select rownum rn,empno,ename,job,hiredate,sal
from emp
where rownum<=10)
where rn>=6;
假如显示数据: 5条
那么
末尾是:页码*5 ;起始是:(页码-1)*5+1
1: 5,1
2: 10,6
2,结果集分页:一次查询出所有符合的数据,在显示的时候,可以通过subList()方法截取,
select rownum rn,empno,ename,job,hiredate,sal
from emp
一次查出所有的数据
通过封装一个用于页面显示的工具类pageUtil可以简化代码。
最关键的是,保存在session的数据集合,决定页面显示的数据。