Eu estou trabalhando na conversão de consultas do MS Access para o MySQL. Até agora, eu tenho tido sorte com isso, mas estou tendo problemas com a conversão das colunas calculadas listadas abaixo em Access to MySQL:
IIf (sumofpacking é nulo, sacos, sacos-sumofpacking) AS Bags_Undelivered
IIf (sumofnet_qty é Nulo, Lbs, Lbs-SumOfNET_QTY) AS Lbs_Undelivered
DateDiff ("m", DELVPERIOD_TO, Date ()) AS Months_Late
Rodada ((0.025 * Lbs Não entregue * Meses de atraso), 2) AS Store_Fin_Charges
Qualquer ajuda é apreciada.
Respostas:
0 para resposta № 1- Primeira e segunda pergunta
Para iniciar o Mysql não tem um Iif
função. Então, os dois primeiros precisarão usar outra função chamada case
e pode ser usado da seguinte maneira de acordo com este tutorial;
CASE case_expression
WHEN when_expression_1 THEN commands
WHEN when_expression_2 THEN commands
...
ELSE commands
END CASE;
então suas partes de consulta se tornariam:
case
when sumofpacking Is Null then Bags else Bags-sumofpacking end case AS Bags_Undelivered
e
case
when sumofnet_qty Is Null then Lbs else Lbs-SumOfNET_QTY end case AS Lbs_Undelivered
- Terceira pergunta
o datediff
função no mysql usa apenas 2 entradas como tomadas deste tutorial:
SELECT DATEDIFF("2014-11-30","2014-11-29") AS DiffDate
Levando em consideração essa data você tem que fornecer uma data para a função, sua consulta se tornaria:
DateDiff(DELVPERIOD_TO, Date(now())) AS Months_Late
- Ultima questão
Não tenho certeza porque o último, o número 4 não funciona, provavelmente porque ele não reconhece o dos campos.