Node.js 在节点js sequelize中,列值返回null而不是0

Node.js 在节点js sequelize中,列值返回null而不是0,node.js,sequelize.js,Node.js,Sequelize.js,我已经使用NodeJSSequelize来执行mysql操作。在属性中,使用literal函数返回值。如果为null,则应返回0,但返回null值 这是我在sequelize中的代码 db.sequelize.literal(`(((SELECT COUNT(PR1.id) FROM CM_Poll_Results AS PR1 WHERE PR1.choice = CM_Poll_Options.id ) * 100) /(SELECT COUNT(PR2.id) FROM CM_Poll_R

我已经使用NodeJSSequelize来执行mysql操作。在属性中,使用literal函数返回值。如果为null,则应返回0,但返回null值

这是我在sequelize中的代码

db.sequelize.literal(`(((SELECT COUNT(PR1.id) FROM CM_Poll_Results AS PR1 WHERE PR1.choice = CM_Poll_Options.id ) * 100) /(SELECT COUNT(PR2.id) FROM CM_Poll_Results AS PR2 WHERE PR2.pollId = CM_Poll_Options.pollId)) `),'percentageValue']

如果没有值,则为返回0建议更好的解决方案这更像是一个SQL问题,而不是Sequelize,这取决于您的数据库-通常您希望尽可能避免使用Sequelize.literal()来抽象数据库

要为MySQL中的任何列返回0而不是NULL,请使用

从`table`中选择IFNULL(COUNT(`column`),0)`