SQL Server 和 MySql 语法和关键字的区别
——用于 SQLServer 到 MySql 的转换
(1) mysql 的 ifnull()函数对应 sql 的 isnull()函数;
(2) mysql 的存储过程中变量的定义去掉@;
(3) mysql 的每句结束要用";"
(4) SQLServer 存储过程的 AS 在 MySql 中需要用 begin .....end 替换
(5) 字符窜连接用 concat()函数;
如 SQLServer: Temp=’select * from ’+’tablename’+…+…
MySql:Temp=concat(’select * from’, ’tablecname’,…,…)
(6) mysql 的 uuid()对应 sql 的 GUID();
(7) MySql 的 out 对应 SQLServer 的 output,且 mysql 的 out 要放在变量的前面,SQLServer 的
output 放在变量后面
MySql out,in,inout 的区别——
MySQL 存储过程 “in” 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内
部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的
(not visible)。
MySQL 存储过程 “out” 参数:从存储过程内部传值给调用者。在存储过程内部,该参
数初始值为 null,无论调用者是否给存储过程参数设置值。
MySQL 存储过程 inout 参数跟 out 类似,都可以从存储过程内部传值给调用者。不同的
是:调用者还可以通过 inout 参数传递值给存储过程。
(8)MySQL 的 if 语句为
if (条件) then
end if;
或者
If (条件) then
Else
End if
或者
If(条件)then
Elseif (注意不能写成 Else if )
Elseif
…
End if
评论4