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) {

)

.toString();

page_s = strUtil.replaceDoubleSpace(page_s);

String[] a = page_s.toUpperCase().trim().split("BETWEEN");

].toLowerCase().trim().split("and");

SqlPageParam p = new SqlPageParam();

;

].trim());

ast = new SqlAstP32();

, 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的搭建的更多相关文章

  1. 从SQL Server到MySQL,近百亿数据量迁移实战

    从SQL Server到MySQL,近百亿数据量迁移实战 狄敬超(3D) 2018-05-29 10:52:48 212 沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:J ...

  2. 数据库 SQL Server 到 MySQL 迁移方法总结

    最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...

  3. atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js

    atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐)  vs   lang  ...

  4. sql server vs mysql

    1.中文: my.ini [mysqld] character-set-server=utf8 character-set-client=utf8 data\testdb\db.opt default ...

  5. SQL Server和MySQL数据库

    导读:接下来的网上商城的项目,需要用到MySQL数据库了.这个对于我来说,是一个新接触的东西,按照惯例,在刚开始学习一个东西的时候,先从宏观上去了解它.本篇博客,先介绍SQL Server的基本内容, ...

  6. 通过sql server 连接mysql

    图文:通过sql server 连接mysql   1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/con ...

  7. Sql Server 2012 的新分页方法分析(offset and fetch) - 转载

    最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset ...

  8. 数据库如何从SQL server转换到SQLite

    我之前用的是SQL server数据库,但是客户那里觉得安装这个大的数据库比较卡,说是导致蓝屏了,硬往SQL server上赖,没有办法客户是上帝么,给他换个小点的数据库吧!考虑Access,不行这个 ...

  9. 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...

随机推荐

  1. EntityFramework:迁移工具入门

    背景 刚毕业做项目的时候,没有用“迁移”这个概念,系统发布和更新的过程让人非常痛苦,在学习 Ruby On Rails 的过程解除了“迁移”,以后的所有项目都会先确定好“迁移”的方案,本文介绍一下En ...

  2. Junit初级篇

    @Test介绍 @Test是我们在写测试脚本时最常用到的,大部分情况下如果没用这个注解,一个方法就不能成为测试用例.如下代码是一个最普通的测试脚本: import org.junit.Assert; ...

  3. Android之获取内外部存储器的容量

    先来了解一下存储卡的相关知识: 我们新购买的磁盘或SD卡在使用之前,要让操作系统认得它,须先写入一些磁性的记号到磁盘上的每一扇区,便可在该操作系统下取用磁盘上的数据,这个过程就是格式化. 格式化可以直 ...

  4. 登入爱丽网后台(非JS绕过、非盲打、非IP欺骗)

    后台: http://wed.27.cn/marry/marryadmin/web/login.php 不难猜解到后台管理的相关页面名称(不存在的页面服务器返回404,而存在的页面会直接跳转到上面的登 ...

  5. 使用CSS3实现的player播放按钮

    完成的效果如下 查看效果并下载 Step 1:先了解border的原理: Step 2:HTML代码结构 <section class="playContainer"> ...

  6. PHP的错误处理方式(开发和上线)

    对于PHP开发人员来说,一旦某个产品投入使用.应该马上将 display_errors选项关闭.以免由于这些错误所透露的路径.数据库连接.数据表等信息而遭到黑客攻击. 可是.不论什么一个产品在投入使用 ...

  7. PHP实现双向链表、栈

    前期写过一个PHP实现单向链表.实现排序单向链表的一篇文章,传送门:http://www.cnblogs.com/yydcdut/p/3777760.html.双向链表写过了,再拿出来提一提:http ...

  8. Android之旅 自我图示总结四大组件

    最近学完了Android的四大组件的基础知识,自己总结了一个图示,希望自己看到这个图的时候能回忆起相关的知识点,与大家分享!

  9. sysstat 工具

    转:http://www.ctohome.com/FuWuQi/1b/688.html sysstat 工具简介 sysstat 是 Linux 系统中的常用工具包.它的主要用途是观察服务负载,比如C ...

  10. JAVA设计模式之 訪问者模式【Visitor Pattern】

    一.概述 訪问者模式是一种较为复杂的行为型设计模式,它包括訪问者和被訪问元素两个主要组成部分.这些被訪问的元素通常具有不同的类型,且不同的訪问者能够对它们进行不同的訪问操作.在使用訪问者模式时,被訪问 ...