将DateDiff和Count表达式从Access SQL转换为MySQL

时间:2014-05-12 11:29:13

标签: mysql ms-access count datediff

拜托,有人可以帮我解决这部分问题吗?它在Microsoft Access中运行良好,但在MySQL中不起作用:

DateDiff("m",[first_sent_date],[last_sent_date])+1 AS basetime_month, Count(tablename.id) AS cnt_all

1 个答案:

答案 0 :(得分:1)

Access SQL DateDiff函数至少需要三(3)个参数。它根据第一个参数返回不同的值,即“interval”。在你的情况下

DateDiff("m",[first_sent_date],[last_sent_date])

"m"表示您希望以月为单位进行差异。

MySQL DATEDIFF函数只需要两(2)个参数,并始终返回天数差异。与上面的Access SQL DateDiff表达式等效的MySQL类似于

((YEAR(`last_sent_date`) - YEAR(`first_sent_date`)) * 12) + MONTH(`last_sent_date`) - MONTH(`first_sent_date`)