码迷,mamicode.com
首页 > 数据库 > 详细

SQLSERVER 脚本转MYSQL 脚本的方法总结

时间:2015-01-24 14:20:08      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:

1、MYSQL中SQL脚步都要以分号(;)结尾,这点比SQLSERVER要严谨。

2、所有关键字都要加上``,比如 Status 替换成 `Status`,`按是有个“~的键”。

3、SQLSERVER的dbo.[,]在mysql中不支持,都要去掉。
4、isnull 替换 ifnull。
5、rowNumber 不支持,可以用SELECT @rownum:=@rownum+1 AS pageRownum FROM (SELECT @rownum:=0) r代替。
6. CONCAT()代替+,数字相加的除外。

7. GROUP_CONCAT代替for xml path(‘‘)。

8.SQL Server中@@ROWCOUNT用MYSQL 的ROW_COUNT()替换。

9. TOP 要换成LIMIT的写法。

10.声明变量,从查询语句中给多个变量赋值的方法:=,具体如下:

/**声明变量,接受名为:@userName的数量,初始值为:0*/
declare  count_user int default 0;//默认值为0,注意默认值两边都没有括号。
declare  loginname varchar(20);
// set count_user=0;赋值为0 

/**查询名为:@userName的用户的数量*/
select @count_user:=count(1),@loginname := userName from login;

11.时间格式:DATE_FORMAT(NOW(),‘%Y%m%d‘)  -- 20150124  具体可以参考 http://blog.csdn.net/kangbrother/article/details/7030304 。

12.类型转换要用cast 可以参考http://www.nowamagic.net/librarys/veda/detail/2044  。

13.条件判断,if  then ... end if; if then .. else .. end if;

14.SQLSERVER 中的len() 对应MYSQL中的LENGTH()。

15.修改数据

1.update `order`,orderordertrans SET `order`.CycleSort = orderordertrans.RID where `order`.`code` = orderordertrans.`code`;//支持mysql 和sqlserver 

2. update a set a.DefaultCycleDeliveDate=null from [Order] a where a.CycleSort>@CurrentCycleSort and a.Cycle_group=@cycleGroup //支持server,不支持mysql

 

SQLSERVER 脚本转MYSQL 脚本的方法总结

标签:

原文地址:http://www.cnblogs.com/allenhua/p/4240082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!