Node.js 如何使用';如果选择';nodejs中带有sequelize的函数

Node.js 如何使用';如果选择';nodejs中带有sequelize的函数,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,我正在nodejs中开发一个restapi。我正在使用sequelize库 postgresql数据库 使用nodejs中的sequelize,我希望获得一个临时列来管理一些值。我有两列vip\u start和vip\u end。这些列是数据类型。DATEONLY格式 当我选择所有列时,我想比较两个日期,最后用答案创建一个新列。如果为true,则1,否则0。然后我想通过VIP\u ANSWER(1或0)对所选行进行排序 在mysql中,它解决了如下问题: ( SELECT IF (CURDATE

我正在nodejs中开发一个restapi。我正在使用sequelize库 postgresql数据库

使用nodejs中的sequelize,我希望获得一个临时列来管理一些值。我有两列
vip\u start
vip\u end
。这些列是
数据类型。DATEONLY
格式

当我选择所有列时,我想比较两个日期,最后用答案创建一个新列。如果为true,则
1
,否则
0
。然后我想通过
VIP\u ANSWER(1或0)
对所选行进行排序

在mysql中,它解决了如下问题:

( SELECT IF (CURDATE( ) >= DATE( vip_start ) AND CURDATE( ) <= DATE( vip_end ), 1, 0 ) ) as vip

任何帮助都将不胜感激。

只需添加

[ sequelize.literal('( SELECT IF (CURDATE( ) >= DATE( vip_start ) AND CURDATE( ) <= DATE( vip_end ), 1, 0 ) )'),'vip']

[sequelize.literal(')(选择IF(CURDATE()>=DATE(vip_-start)和CURDATE()=DATE(vip_-start)和CURDATE()@Benfactor,然后请在Postgres中创建查询,然后您可以像上面一样使用它。请检查:非常感谢。我更改了语法,它可以正常工作。[sequelize.literal(')(CASE WHEN(vip_-start=CURRENT_-DATE)然后1 ELSE 0 END);“vip']sequelize.literal这是我刚才学习的一个很好的功能抱歉,我有一个小问题,我想按vip排序行,它在vip附近提供databaseError语法
[ sequelize.literal('( SELECT IF (CURDATE( ) >= DATE( vip_start ) AND CURDATE( ) <= DATE( vip_end ), 1, 0 ) )'),'vip']
attributes: ['id', 'description',  'vip_start', 'vip_end','user_id' , [ sequelize.literal('( SELECT IF (CURDATE( ) >= DATE( vip_start ) AND CURDATE( ) <= DATE( vip_end ), 1, 0 ) )'),'vip'] ]