将MS Access计算列转换为MySQL

将MS Access计算列转换为MySQL,mysql,ms-access,Mysql,Ms Access,我正在将MS Access查询转换为MySQL。到目前为止,我一直很幸运,但在将Access中列出的以下计算列转换为MySQL时遇到了麻烦: IIfsumofpacking为空,行李,行李包装为未交付的行李 IIfsumofnet_数量为空,Lbs,Lbs-SumOfNET_数量为Lbs_未交付 DateDiffm,DELVPERIOD_至,日期晚个月 轮0.025*磅未交付*晚了几个月,2作为门店费用 感谢您的帮助 第一及第二项质询 启动Mysql没有Iif函数。因此,前2个将需要使用另一个名

我正在将MS Access查询转换为MySQL。到目前为止,我一直很幸运,但在将Access中列出的以下计算列转换为MySQL时遇到了麻烦:

IIfsumofpacking为空,行李,行李包装为未交付的行李

IIfsumofnet_数量为空,Lbs,Lbs-SumOfNET_数量为Lbs_未交付

DateDiffm,DELVPERIOD_至,日期晚个月

轮0.025*磅未交付*晚了几个月,2作为门店费用

感谢您的帮助

第一及第二项质询 启动Mysql没有Iif函数。因此,前2个将需要使用另一个名为case的函数,并且可以按照以下方式使用:

因此,您的查询部分将变成:

case 
when sumofpacking Is Null then Bags else Bags-sumofpacking end case AS Bags_Undelivered
DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late

第三项质询 mysql中的datediff函数仅使用以下两个输入:

考虑到您必须向函数提供日期的日期,您的查询将变成:

case 
when sumofpacking Is Null then Bags else Bags-sumofpacking end case AS Bags_Undelivered
DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late
最后一个问题
不确定最后一个数字4为什么不起作用,可能是因为它无法识别其中一个字段。

最后一个看起来只是缺少列名中的下划线。
DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late