将MS Access计算列转换为MySQL

时间:2016-02-01 17:26:27

标签: mysql ms-access

我正在努力将MS Access查询转换为MySQL。到目前为止,我一直运气好,但是我在转换下面列出的访问MySQL的计算列时遇到了麻烦:

  1. IIf(sumofpacking是Null,Bags,Bags-sumofpacking)AS Bags_Undelivered

  2. IIf(sumofnet_qty为Null,Lbs,Lbs-SumOfNET_QTY)AS Lbs_Undelivered

  3. DateDiff(“m”,DELVPERIOD_TO,Date())AS Months_Late

  4. 回合((0.025 * Lbs Undelivered *月末),2)AS Store_Fin_Charges

  5. 感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

  1. 第一和第二个问题
  2. 启动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
    
    1. 第三个问题
    2. mysql中的datediff函数仅使用从tutorial获取的2个输入:

      SELECT DATEDIFF('2014-11-30','2014-11-29') AS DiffDate
      

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

      DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late
      
      1. 最后一个问题
      2. 不确定为什么最后一个4号不起作用,可能是因为它无法识别其中一个字段。