1、MYSQL中SQL脚步都要以分号(;)结尾,这点比SQLSERVER要严谨。
2、所有关键字都要加上``,比如 Status 替换成 `Status`,`按是有个“~的键”。
3、SQLSERVER的dbo.[,]在mysql中不支持,都要去掉。
4、isnull 替换 ifnull。
5、rowNumber 不支持,可以用SELECT @rownum:[email protected]+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
时间: 2024-10-09 20:36:44