sequelize.js - 如何将 sequellize.fn 与具有超过 1 个参数的 SQL TIMESTAMPDIFF 函数一起使用
问题描述
这是我的 SQL 代码:
SELECT mbr_id
FROM `tbl_logs`
WHERE mbr_id = 187 AND TIMESTAMPDIFF(MINUTE, log_datetime, NOW()) < 60
ORDER BY `log_datetime` DESC
我该如何续集?
我的困惑在于 SQL 函数,尤其是那些参数超过 1 个的函数。这里的示例只是提供了一个接受一个参数的函数。
解决方案
根据您提供的链接,签名是
public static fn(fn: string, args: any): fn
args: any
表示您可以指定/传递多个以逗号分隔的参数(参数)。在您的情况下,您可能会认为签名是这样的
public static fn(fn: string, arg1, arg2, arg3): fn
所以你应该像这样使用它:
sequelize.fn('timestampdiff', sequelize.literal('minute'), sequelize.col('log_datetime'), sequelize.fn('now'))