首页 > 代码库 > SQLSERVER 脚本转MYSQL 脚本的方法总结

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

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 脚本的方法总结