将MS SQL查询转换为MySQL时出错

将MS SQL查询转换为MySQL时出错,mysql,sql,Mysql,Sql,我在C#中有一个项目,我必须在数据访问层文件中将MS SQL查询转换为MySQL查询。转换后,我遇到了“在命令执行期间遇到致命错误”。错误。下面是我的MySQL查询 SELECT * FROM mst_tariff WHERE service_id = @service_id AND ( effective_from BETWEEN STR_TO_DATE(@EFFECTIVE_FROM,'%d/%m/%Y %H:%i:%s') AND STR_TO_DATE(@EFFEC

我在C#中有一个项目,我必须在数据访问层文件中将MS SQL查询转换为MySQL查询。转换后,我遇到了“在命令执行期间遇到致命错误”。错误。下面是我的MySQL查询

SELECT * 
FROM   mst_tariff 
WHERE  service_id = @service_id     
AND ( effective_from BETWEEN STR_TO_DATE(@EFFECTIVE_FROM,'%d/%m/%Y %H:%i:%s') 
AND STR_TO_DATE(@EFFECTIVE_TO,'%d/%m/%Y %H:%i:%s')              
OR effective_to BETWEEN STR_TO_DATE(@EFFECTIVE_FROM,'%d/%m/%Y %H:%i:%s') 
AND STR_TO_DATE(@EFFECTIVE_TO,'%d/%m/%Y %H:%i:%s')      
OR STR_TO_DATE(@EFFECTIVE_FROM,'%d/%m/%Y %H:%i:%s') BETWEEN effective_from AND  
effective_to )      
AND is_active = 'y'   
AND tariff_id != @tariff_id
下面是我的MS SQL查询

SELECT * 
FROM   mst_tariff 
WHERE  service_id = @service_id     
AND ( effective_from BETWEEN convert(datetime,@EFFECTIVE_FROM,103) AND convert  
(datetime,@EFFECTIVE_TO,103)              
OR effective_to BETWEEN convert(datetime,@EFFECTIVE_FROM,103) AND convert  
(datetime,@EFFECTIVE_TO,103)      
OR convert(datetime,@EFFECTIVE_FROM,103) BETWEEN convert(datetime,effective_from,103) AND convert
(datetime,effective_to,103) )      
AND is_active = 'y'   
AND tariff_id != @tariff_id
这里的“生效日期”和“生效日期”是日期列

这方面我还不太熟悉。因此,任何人都可以验证该查询是否为rite,从MS Sql到MySQL的转换是否正确。
提前感谢

什么是有效收件人、有效发件人、关税id等?定义在哪里以及如何定义?这个错误到底是什么?“在命令执行过程中遇到致命错误。”实际上什么也没说。您不能直接在console/phpmyadmin/任何您拥有的客户端中执行MySQL查询并显示来自服务器的确切错误吗?@piotrekkr是的,先生。我曾尝试直接在MySQL中执行该语句,但在运行项目时,我尝试调试代码。这就是异常中显示的错误。由于错误说明错误发生在命令执行过程中。我认为问题可能与查询本身有关。还查看了其他网站以寻求解决方案。有人说查询很复杂,执行时间很长,因此有时会跨越默认超时并返回致命错误。您对查询执行时间有一些限制吗?您是否有关于此错误的详细信息的错误日志?