我正在努力将MS Access查询转换为MySQL。到目前为止,我一直运气好,但是我在转换下面列出的访问MySQL的计算列时遇到了麻烦:
IIf(sumofpacking是Null,Bags,Bags-sumofpacking)AS Bags_Undelivered
IIf(sumofnet_qty为Null,Lbs,Lbs-SumOfNET_QTY)AS Lbs_Undelivered
DateDiff(“m”,DELVPERIOD_TO,Date())AS Months_Late
回合((0.025 * Lbs Undelivered *月末),2)AS Store_Fin_Charges
感谢任何帮助。
答案 0 :(得分:0)
启动Mysql没有Iif
功能。所以前2个需要使用另一个名为case
的函数,并且可以按照以下方式使用tutorial;
CASE case_expression
WHEN when_expression_1 THEN commands
WHEN when_expression_2 THEN commands
...
ELSE commands
END CASE;
因此您的查询部分将变为:
case
when sumofpacking Is Null then Bags else Bags-sumofpacking end case AS Bags_Undelivered
和
case
when sumofnet_qty Is Null then Lbs else Lbs-SumOfNET_QTY end case AS Lbs_Undelivered
mysql中的datediff
函数仅使用从tutorial获取的2个输入:
SELECT DATEDIFF('2014-11-30','2014-11-29') AS DiffDate
考虑到日期必须为函数提供日期,您的查询将变为:
DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late
不确定为什么最后一个4号不起作用,可能是因为它无法识别其中一个字段。