Mysql分页sql转为Oracle分页sql

原创 2018年04月16日 09:46:00
	public List<FunctionSupplement> getFunctionListSupplement(Page page,String searchAll) {
		String str = "SELECT * FROM libraryfunctionsupplement ";
		StringBuffer sql=new StringBuffer(str);
		sql.append(" or wire_material_code like '%"+searchAll+"%'");
		if (StringUtils.isNotEmpty(searchAll)) {
			sql.append(" or wire_csa = "+searchAll+"")
			.append(" or copper_material_cost = "+searchAll+"")
			.append(" or copper_weight = "+searchAll+"")
			.append(" or copper_base_price = "+searchAll+"")
			.append(" or aluminum_weight = "+searchAll+"")
			.append(" or aluminum_base_price = "+searchAll+"");
		}
		sql.append(" order by gmt_created desc");
			//.append(" limit "+firstIndex+","+page.getPageSize());
		String oraclePageSql = getOraclePageSql(sql.toString(),page);
		List<FunctionSupplement> functionList = createSQLQuery(oraclePageSql.replaceFirst("or","where")).addEntity(FunctionSupplement.class).list();
		return functionList;
	}

	private String getOraclePageSql(String sql, Page page) {
		int firstIndex = page.getFirst();
		int lastIndex = page.getPageNo()*page.getPageSize();
		String oraclePageSql = " SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ("+sql+") A WHERE ROWNUM <= "+lastIndex+" ) WHERE RN >= "+firstIndex;
		return oraclePageSql;
	}

笔记:oracle、SqlServer和MySQL分页区别

1、MySQL用limit分页 /* * sql:可以是单表的查询语句,也可以是多表的联合查询语句 * firstIndex:其实的索引 * pageSize:每页显示的记录数 */ sel...
  • longmapang
  • longmapang
  • 2016-12-16 18:00:28
  • 1349

Oracle、MySql、SQLServer 数据库中分页查询中的关键字总结

(一)、 mysql的分页查询
  • langjian2012
  • langjian2012
  • 2014-10-17 22:13:46
  • 7991

MySQL与Oracle的分页查询语句

一、MySQL MYSQL中有特定的分页查询语句,该sql语句只能在MySQL中使用 select * from t_customer limit ?,? 该sql语句的意思是,从第几行开始...
  • u010004317
  • u010004317
  • 2015-05-13 12:34:25
  • 7062

Oracle, DB2 及 MySQL 分页查询写法

现在在WEB 应用中使用分页技术越来越普遍了,其中利用数据库查询分页是一种效率比较高的方法,下面列出了Oracle, DB2  及 MySQL 分页查询写法。 一:Oracle select * fr...
  • juvenx
  • juvenx
  • 2008-01-24 15:17:00
  • 942

MySql,Sqlserver,Oracle数据的分页语句

在实际项目中分页是常见的不能再说了,这里我总结了MySql,SqlServer,Oracle这三个数据库的sql分页语句 在这三个数据库中,,个人觉得MySql的分页语句是最简单的,只用一个limit...
  • u011109042
  • u011109042
  • 2013-12-28 16:50:37
  • 1834

easyui中的分页实现(支持MySQL,SQLServer,Oracle)

Pagination.java package com.dxwind.common.bean; import java.sql.CallableStatement; import java.sql....
  • sgx425021234
  • sgx425021234
  • 2014-02-21 14:20:16
  • 5717

总结一些分页查询的方法SQL server,MySQL,oracle数据库及hibernate中

分页查询是数据库查询中经常用到的一项操作,对查询出来的结果进行分页查询可以方便浏览。那么Oracle、SQL Server、MySQL是如何实现查询的呢?本文我们就来介绍这一部分内容。以及hibe...
  • angus_737093684
  • angus_737093684
  • 2016-11-08 08:29:29
  • 1210

mySQL分页机制与模糊查询+oracle分页机制与模糊查询

分页一: Mysql分页采用limt关键字 select * from t_order limit 5,10; #返回第6-15行数据 select * from t_order limit 5; ...
  • Angel_G
  • Angel_G
  • 2016-11-22 09:59:03
  • 2143

oracle,mysql,SqlServer三种数据库的分页查询总结

MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。 LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参...
  • SH_King
  • SH_King
  • 2015-07-31 15:36:30
  • 1999
收藏助手
不良信息举报
您举报文章:Mysql分页sql转为Oracle分页sql
举报原因:
原因补充:

(最多只允许输入30个字)