【问题标题】:Converting DateDiff and Count expressions from Access SQL to MySQL将 DateDiff 和 Count 表达式从 Access SQL 转换为 MySQL
【发布时间】:2014-06-29 17:48:52
【问题描述】:

请问,有人可以帮我解决这部分问题吗?它在 Microsoft Access 中运行良好,但在 MySQL 中无法运行:

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

【问题讨论】:

  • 您必须将您的查询翻译成 MySQL 的 sql 方言。 MySQL使用即反引号来引用列名,功能也不同。 MySQL manual 将为您提供帮助。

标签: mysql ms-access count datediff


【解决方案1】:

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

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`)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多