ホームページ > データベース > mysql チュートリアル > 生成MySQL、SqlServer、Oracle数据的分页话语

生成MySQL、SqlServer、Oracle数据的分页话语

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-07 16:16:03
オリジナル
1125 人が閲覧しました

生成MySQL、SqlServer、Oracle数据的分页语句 /*** @Title: getMySQLSql * @Description: 生成适合MySQL方言的SQL分页语句* @param sql * @param offset* @param limit* @return String */public String getMySQLSql(String sql, int offset, int limit) { re

生成MySQL、SqlServer、Oracle数据的分页语句

/**
* @Title: getMySQLSql 
* @Description: 生成适合MySQL方言的SQL分页语句
* @param  sql 
* @param  offset
* @param  limit
* @return String    
 */
public String getMySQLSql(String sql, int offset, int limit) {
   return sql + " limit " + offset + "," + limit;
}

/**
* @Title: getSqlServeSql 
* @Description: 生成适合SqlServer方言的SQL分页语句
* @param  sql 
* @param  pageNo
* @param  pageSize
* @return String    
 */
public String getSqlServeSql(String sql, int pageNo, int pageSize) {
  return "select top " + pageSize + " from (" + sql
	+ ") t where t.id not in (select top " + (pageNo-1)*pageSize + " t1.id 
		  from ("+ sql + ") t1)";
}

/**
* @Title: getOrcaleSql 
* @Description: 生成适合Oracle方言的SQL分页语句
* @param  sql 
* @param  pageNo
* @param  pageSize
* @return String    
 */
public String getOrcaleSql(String sql, int pageNo, int pageSize) {
   return "select * from (select rownum rn, t.* from (" + sql
		  + ") t where rownum <= " + (pageNo* pageSize)
		  + ") t1 where t1.rn > " + ((pageNo- 1) * pageSize);
}

ログイン後にコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート