atitit。mssql sql server 转换mysql 及 分页sql ast的搭建
atitit。mssql sql server 转换mysql 及 分页sql ast的搭建
1. 主要的的转换::函数的转换,分页的转换 1
2. 思路::mssql sql >>ast>>mysql 1
3. sql主要的如下::: 1
4. Mssql2MysqlConvertor (proj:wechatAdm4propt 2
1. 主要的的转换::函数的转换,分页的转换
2. 思路::mssql sql >>ast>>mysql
3. sql主要的如下:::
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
SELECT groupid,
groupname,
convert(varchar, createtime, 120) AS createtime,
weixinuserCount,
remark
FROM
(SELECT row_number() over( ORDER BY createtime DESC) AS rowNum, d1.groupid,
d1.groupname,
d1.createtime,
d1.remark,
(SELECT count(d2.UserID)
FROM t_mb_weixinuser d2
WHERE d2.groupid=d1.groupid)AS weixinuserCount
FROM t_mb_group d1
WHERE 1=1)
AS groups
WHERE rowNum BETWEEN 1 AND 10
4. Mssql2MysqlConvertor (proj:wechatAdm4propt
public class Mssql2MysqlConvertor {
@Inject
SqlAstBuilderP32 astBldr;
SqlAstP32 ast;
/**
* @author attilax 老哇的爪子
* @since p33 j_t_37
*/
public static void main(String[] args) {
String txt = filex.read(pathx.classPath() + "/mssql1.sql");
txt = strUtil.replaceEnterChar2space(txt);
txt = txt.replaceAll("row_number.*?,", "");
Mssql2MysqlConvertor x = new Mssql2MysqlConvertor();
String sql_mysql = x.convert(txt);
System.out.println(JsonX.toJsonStrO88(x.ast));
System.out.println(sql_mysql);
}
/**
* @author attilax 老哇的爪子
* @return
* @since p33 m_j_45
*/
private String convert(String txt) {
String page_s = strUtil.find("rowNum(.+)BETWEEN.+and.+$", txt).get(0)
.toString();
page_s = strUtil.replaceDoubleSpace(page_s);
String[] a = page_s.toUpperCase().trim().split("BETWEEN");
String[] a2 = a[1].toLowerCase().trim().split("and");
SqlPageParam p = new SqlPageParam();
p.startIndex = Integer.parseInt(a2[0].trim()) - 1;
p.pagesize = Integer.parseInt(a2[1].trim());
ast = new SqlAstP32();
ast.preOther = txt.substring(0, txt.indexOf(page_s));
ast.pagePart = p;
if (ast.preOther.trim().toLowerCase().endsWith("where"))
ast.preOther = ast.preOther + " 1=1 ";
return ast.preOther + " limit " + p.startIndex + "," + p.pagesize;
}
atitit。mssql sql server 转换mysql 及 分页sql ast的搭建相关推荐
- 从sql server 到mysql,从Microsoft SQL Server到MySQL的转换
How do I convert a Microsoft SQL Server database backup file such that to import in MySQL database? ...
- SQL Server 2005下的分页SQL
其实基本上有三种方法: 1.使用SQL Server 2005中新增的ROW_NUMBER 几种写法分别如下: 1SELECT TOP 20 * FROM (SELECT 2 ROW_NUMBER ...
- sql server与mysql日期格式转换和获取当前日期区分
二话不说,先看例子: sql server: select convert(varchar(10),getdata(),120) 结果:2021-07-09 mysql: SELECT DATE_FO ...
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐) vs lang ...
- MS SQL Server和MySQL区别
- 最近在做MS SQL Server转换成MySQL的工作,总结了点经验,跟大家分享一下.同时这些也会在不断更新.也希望大家补充. 1 MySQL支持enum,和set类型,SQL Server不支 ...
- sql server转mysql工具下载_SQL Server转换为MySQL工具推荐(Mss2sql)
SQL Server转换为MySQL工具,用了一下 感觉蛮不错的. 分享上来,同时也以便记录下来以后自用. 工具名称:Mss2sql 来个操作流程: 1.首先下载工具 用户名与密码都是www.linu ...
- SQL 100+个最佳入门案例实践(覆盖Oralce、SQL Server、Mysql)之基础操作_1_检索数据
SQL基础操作_1_检索数据 目录 7.1.1 数据集 7.1.2 学生选课关系表 7.1.3 供应商关系表 7.2.1 从表中查询所有行和列 7.2.2 从表中查询部分行 7.2.3 查询满足某个条 ...
- 通过SQL Server操作MySQL的步骤和方法
在多种数据库环境下,经常会遇见在不同数据库之间转换数据和互相进行操作的情况.以下简要介绍下用SQL Server操作MySQL的步骤和方法. 1 操作前的准备 1.1 安装MySQL驱动 想要在SQL ...
- oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...
- 从 SQL Server 到 MySQL (三):愚公移山 - 开源力量
我们用了两章文章 从 SQL Server 到 MySQL(一):异构数据库迁移 / 从 SQL Server 到 MySQL(二):在线迁移,空中换发动机 介绍我们遇到问题和解决方案. 不管是离线全 ...
最新文章
- C++ 对TXT 的串并行读写
- 【Servlet】Servlet与MVC分层开发
- ios ionic3 跳转第三方地图 xcode加入白名单
- 共模电压和差模电压-(定义及测量)
- SMO算法原理转载+自己补充
- html item 左右滑动,拖动Html元素集合 Drag and Drop any item
- 谷歌提出新型自动语音识别数据增强大法,直接对频谱图“动刀”,提升模型表现...
- VS2010调用python编写的代码error:cannot open file 'python27_d.lib'.
- linux硬件驱动网站,linux怎么查看已装好硬件驱动
- 浅谈seo行业白菜价泛滥
- hadoop2.8配置_hadoop2.8安装教程
- Android自带指南针坐标系,Android自定义View,带你实现小米指南针和时钟
- 自建公众号服务器开发教程,01-微信公众号开发入门篇
- Netlogo入门(一)
- MIX2 适配看这一篇就够了,18:9 只需一行代码
- 史上最全的iOS开源项目分类汇总
- 【机器学习算法】隐马尔可夫模型HMM(一)
- Python制作牛奶冻
- 汇川伺服设置力矩并报警
- 国产CPU乘风破浪,飞腾发布多路服务器CPU腾云S2500