MSSQL与MySQL语法区别

时间:2023-01-26 17:12:15

就目前碰到的不一样的地方集中记录在这篇日志中,不定期更新。


1、批量执行SQL语句

MSSQL中,所有语句执行过程中无需在末尾加分号『;』

MySQL中,单条语句不用加分号,多条执行时每句末尾需要添加分号『;』


2、注释问题

MySQL中和MSSQL的注释相同,但是在MySQL注释时需要在--后面有个空格,否则会报错。

例如:

--这是MSSQL的注释
-- 这是MySQL的注释(有空格)

3、生成uuid

-- MySQL生成语句
select replace(uuid(),'-','') 

--MSSQL生成语句
select replace(newid(),'-','') 

4、空值判断

--MSSQL:  
Select isnull(xxx,’’) 
-- MySQL:    
Select ifnull(xxx,’’); 

5、获取当前时间

--MSSQL:  
Select getdate() 

-- MySQL:    
Select now();  
/*
获得当前日期函数:curdate(),current_date()  
获得当前时间函数:curtime();  
获得当前日期+时间:now();
*/

6、连接字符串

--MSSQL:   
select ‘123’+‘456’ 
-- MySQL:     
select concat(‘123’, ‘456’);

7、跨数据库访问

--MS Server:   
[xx].[dbo].[aaa] 
-- MySQL(省略dbo):     
xx.aaa

8、