我正在将我们的项目数据库从 SQL Server 转换为 MySQL,数据库转换已经完成。但是在执行一些查询时,我遇到了一些错误。
我正在使用 ColdFusion 8、MySQL 5。
这是一个例子:
SELECT i.ID, s.Name, i.OccurredOn, i.MinorProblemID,
i.MajorProblemID, i.Problem, i.Motivation, i.Strategy1,
i.Strategy2, i.Strategy3, i.Decision,
COALESCE(CAST(s.Grade as int),-5) as Grade, i.LocationID,
l.Display as StartMonth, l.OrderBy as StartMonthOrder,
i.StudentID, u.ID as SourceID,
replace(u.FirstName+' '+u.LastName,'''','`') as Source,
replace(replace(replace(replace(replace(replace(replace(
ltrim(replace(CAST(OccurredOn as varchar(100)),CAST(OccurredOn
as varchar(12)),'')),':1',':0'),':2',':0'),':3',':0'),':4',':0'),
':5',':0'),':05',':00'),':00',':00 ') as StartHour
FROM ViewIncidents i
JOIN Students s ON i.StudentID = s.ID
LEFT OUTER JOIN Users u ON i.UserID = u.ID
LEFT OUTER JOIN Lookup l ON l.LookupCode = 'SchoolMonths'
AND l.Value = CAST(OccurredOn as varchar(3))
WHERE i.OccurredOn > '7/1/2012'
AND i.OccurredOn >= '7/1/2012'
ORDER BY i.OccurredOn DESC
它在 SQL Server 中运行良好,但在 MySQL 中失败:
执行数据库查询时出错。
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'int)、-5) 附近使用正确的语法作为 Grade、i.LocationID、l.Display 作为 StartMonth、l.OrderBy as Star'
请帮助我将 db 从 mssql 迁移到 mysql 以及更改查询的最简单方法。
谢谢,
普拉塔梅什