我正在将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'
这有效,但是它给出了弃用警告,表示它将在将来的版本中删除。
感谢您的帮助!
答案 0 :(得分:0)
找到了解决方案!
因此,我将sequelize.fn()与sequelize中的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'
我希望可以避免你们进行我所做的长期研究! 记住要快乐!