由于微软修改了SQL Server的收费策略(之前是按CPU数收钱,现在是按CPU核数收钱),导致公司每年要多多一百万美元的支出,老板阿牛觉得这样很不值,决定转向开源免费的MySQL,虽然用的也是收费版本,但是所需要的费用就要少很多了。于是乎,公司一群.net程序员开始了苦逼的迁移工作。
下面是我在迁移工作中记录的一些问题和解决方案(不定期的更新)。
由于好多的T-SQL语法在MySQL中并不能使用,所以SQL的修改就成了一大工作:
CONVERT(VARCHAR(10), Date, 112) 替换为 DATE_FORMAT(Date, ‘%y%m%d‘);
Delete TempTable
FROM TempTableAS T_Table
替换为
Delete T_Table
FROM TempTableAS T_Table
ROW_NUMBER()函数在MySQL中不能使用,可以这样替换:
SELECT t.*,
@RowNum := @RowNum + 1 AS RowNum
FROM t,
(SELECT @RowNum := 0) AS myRows
Mysql中拼接字符串不能用 “+”,应该用CONCAT("str1","str2")
date_format函数: date_format(date, format)
%Y 四位年份
%y 两位年份
(待续……)