MSSQL转Mysql常用函数,语法等

时间:2023-01-25 17:13:26
MSSQL转Mysql常用

一、字段类型
MSSQL                            Mysql                                备注
"nchar"                          "char()"                             最大长度为255
"nvarchar"                       "varchar":
"uniqueidentifier"               "varchar(36)"                        默认值:uuid() 代表唯一值GUID
"image"                          "mediumblob"
"money","smallmoney"             "decimal(11,2)"

二、函数
MSSQL                            Mysql                                备注
getdate()                        NOW()                                当前时间
@@ROWCOUNT                       ROW_COUNT()                          影响行数
len()                            CHAR_LENGTH()                        字符长度
DATALENGTH()                     LENGTH()                             字节长度,mssql一个汉字2个字节,mysql一个汉字3个字节
'Li'+'Di'                        CONCAT('Li','Di')                    字符串拼接
CHARINDEX('zh', 'De_Zha')        INSTR('De_Zha','zh')                 查找索引,mssql和mysql参数位置调换
CONVERT(varchar(6), '5.00')      CONVERT('5.00',CHAR)                 类型转换,mssql和mysql参数位置调换,且mysql不支持varchar
ISNULL                           IFNULL                               判断字符串是否为空,参数一样
DATEPART(DAY,getdate())          DAY(NOW())                           取日期的单体数据,同理有YEAR,MONTH,HOUR,WEEKDAY等等
DATEDIFF(DAY,date1,date2)        TIMESTAMPDIFF(DAY,date1,date2)       取两个日期时间差,同理有YEAR,MONTH,HOUR,WEEK等等
dateadd(MONTH,1,getdate())       DATE_ADD(NOW(),INTERVAL 1 MONTH)     日期增加,同理Year,DAY,Hour等,mysql日期相减函数DATE_SUB()
identity(1,1)                    AUTO_INCREMENT                       自动增长列

三、其他(mysql语句必须以;结束)
MSSQL                                                 Mysql                                        备注
DECLARE @a VARCHAR(10)                                DECLARE a VARCHAR(10)                        声明变量时,mysql不能带@符号,但是mysql可以不用declare声明变量,可以直接set @a='',默认全局变量
SELECT top 10 * FROM A                                SELECT * FROM A LIMIT 0,10                   取前10行数据
CREATE TABLE #G1DaySum                                CREATE TEMPORARY TABLE `G1DaySum`            创建临时表
CREATE PROCEDURE AA(a INT, b INT output)              CREATE PROCEDURE AA(IN a INT, OUT b INT)     存储过程参数格式
IF() BEGIN END                                        IF() THEN  END IF                            if用法
WHILE() BEGIN END                                     WHILE() DO END WHILE                         while用法