javascript - 使用 Sequelize 在列上使用日期时间函数

标签 javascript sequelize.js

我正在尝试计算 CURRENT_TIMESTAMP 之间的差异(以秒为单位)和一个 DATETIME 列。我刚刚使用过TIMESTAMPDIFF(SECOND, CURRENT_TIMESTAMP, someColumnName)在 SQL 中,但我在使用 Sequelize 执行此操作时遇到问题。

我尝试过这样做,但我似乎无法正确理解语法:

  Project
    .findAll({
      include: [Note, Link],
      attributes: [
        [sequelize.fn('TIMESTAMPDIFF', 'SECOND', 'CURRENT_TIMESTAMP', 'createdAt'), 'diff']
      ]
    })
    .then(res.send.bind(res));

有没有办法使用 Sequelize 添加使用函数作为属性的方法?

最佳答案

使用sequelize.col标记列(否则会转义为字符串)

sequelize.fn('TIMESTAMPDIFF', 'SECOND', 'CURRENT_TIMESTAMP', sequelize.col('createdAt'))

关于javascript - 使用 Sequelize 在列上使用日期时间函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664647/

相关文章:

node.js - SequelizeConnectionRefusedError : connect ECONNREFUSED 127. 0.0.1:4321

javascript - 寻找使用 HTML 5 和 Webvtt 与文档进行视频同步的想法

node.js - Sequelize.js - 异步验证器

node.js - 如何防止 Sequelize 使用 Postgres 为主键插入 NULL

javascript - Sequelize 查找 belongsToMany 关联

javascript - 如何在 CSS 中选择一个不是另一个元素后代的元素(使用属性)

javascript - 如何将文本更改为不可见,但仍显示下划线?

javascript - setinterval问题重复功能

javascript - 使用函数返回 Prop 不返回 Prop

mysql - 如何使用sequelize和mysql设置默认值?