后续为DATE类型创建SQL

时间:2018-10-29 18:54:41

标签: mysql sequelize.js

我正在将sequelize与mysql结合使用,我想知道是否有一种方法可以使用sequelize创建如下所示的SQL:

initComponents();
addMouseListener(this);
setBackground(Color.YELLOW);

我试图做这样的事情:

SELECT * FROM table WHERE DAY(dateAttribute) = 'chosen_day'
SELECT * FROM table WHERE MONTH(dateAttribute) = 'chosen_month'

这有效,但是它给出了弃用警告,表示它将在将来的版本中删除。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

找到了解决方案!

因此,我将sequelize.fn()与sequ​​elize中的Op.and函数一起使用。因此解决方案是:

this.test = function () {
    return model.tableName.findAll({
        attributes: ['myAttribute'],
        where: {
            dateAttribute: {
                [sequelize.Op.and]: [
                    sequelize.where(sequelize.fn('MONTH', sequelize.col('dateAttribute')), 5),
                    sequelize.where(sequelize.fn('DAY', sequelize.col('dateAttribute')), 5),
                ]
            },
            otherAttribute: 'someValue'
        }
    })
}

以下代码生成了此SQL查询:

SELECT myAttribute FROM tableName WHERE (MONTH('dateAttribute') = 5 AND DAY('dateAttribute') = 5) AND otherAttribute = 'someValue'

我希望可以避免你们进行我所做的长期研究! 记住要快乐!