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的搭建相关推荐

  1. 从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? ...

  2. SQL Server 2005下的分页SQL

    其实基本上有三种方法: 1.使用SQL Server 2005中新增的ROW_NUMBER 几种写法分别如下: 1SELECT TOP 20 * FROM (SELECT 2   ROW_NUMBER ...

  3. sql server与mysql日期格式转换和获取当前日期区分

    二话不说,先看例子: sql server: select convert(varchar(10),getdata(),120) 结果:2021-07-09 mysql: SELECT DATE_FO ...

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

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

  5. MS SQL Server和MySQL区别

    - 最近在做MS SQL Server转换成MySQL的工作,总结了点经验,跟大家分享一下.同时这些也会在不断更新.也希望大家补充. 1 MySQL支持enum,和set类型,SQL Server不支 ...

  6. sql server转mysql工具下载_SQL Server转换为MySQL工具推荐(Mss2sql)

    SQL Server转换为MySQL工具,用了一下 感觉蛮不错的. 分享上来,同时也以便记录下来以后自用. 工具名称:Mss2sql 来个操作流程: 1.首先下载工具 用户名与密码都是www.linu ...

  7. 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 查询满足某个条 ...

  8. 通过SQL Server操作MySQL的步骤和方法

    在多种数据库环境下,经常会遇见在不同数据库之间转换数据和互相进行操作的情况.以下简要介绍下用SQL Server操作MySQL的步骤和方法. 1 操作前的准备 1.1 安装MySQL驱动 想要在SQL ...

  9. oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办

    在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacem ...

  10. 从 SQL Server 到 MySQL (三):愚公移山 - 开源力量

    我们用了两章文章 从 SQL Server 到 MySQL(一):异构数据库迁移 / 从 SQL Server 到 MySQL(二):在线迁移,空中换发动机 介绍我们遇到问题和解决方案. 不管是离线全 ...

最新文章

  1. C++ 对TXT 的串并行读写
  2. 【Servlet】Servlet与MVC分层开发
  3. ios ionic3 跳转第三方地图 xcode加入白名单
  4. 共模电压和差模电压-(定义及测量)
  5. SMO算法原理转载+自己补充
  6. html item 左右滑动,拖动Html元素集合 Drag and Drop any item
  7. 谷歌提出新型自动语音识别数据增强大法,直接对频谱图“动刀”,提升模型表现...
  8. VS2010调用python编写的代码error:cannot open file 'python27_d.lib'.
  9. linux硬件驱动网站,linux怎么查看已装好硬件驱动
  10. 浅谈seo行业白菜价泛滥
  11. hadoop2.8配置_hadoop2.8安装教程
  12. Android自带指南针坐标系,Android自定义View,带你实现小米指南针和时钟
  13. 自建公众号服务器开发教程,01-微信公众号开发入门篇
  14. Netlogo入门(一)
  15. MIX2 适配看这一篇就够了,18:9 只需一行代码
  16. 史上最全的iOS开源项目分类汇总
  17. 【机器学习算法】隐马尔可夫模型HMM(一)
  18. Python制作牛奶冻
  19. 汇川伺服设置力矩并报警
  20. 国产CPU乘风破浪,飞腾发布多路服务器CPU腾云S2500

热门文章

  1. Linux下常用安全策略设置方法
  2. bootstrap22-内联的复选框和单选按钮的实例
  3. 链表反转(递归与非递归实现)
  4. Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
  5. 数据库DB2性能优化高级进阶
  6. 云计算不可及?私有云对IT架构三大影响
  7. 函数的调用过程——栈帧。
  8. AutoPlay Menu Builder入门教程
  9. lintcode:Search Insert Position 搜索插入位置
  10. 需要掌握的flex知识点