You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sequelize中为两列相乘的结果设置where查询条件

Sequelize 5 实现自定义字段运算查询的方法

你可以用Sequelize内置的sequelize.literal()方法拼接字段运算的SQL片段,搭配普通等值查询即可实现需求,示例代码如下:

首先确认你已经导入了所需的依赖和初始化好Sequelize实例:

// 导入操作符
const { Op } = require('sequelize');
// 导入你提前定义好的myTable对应模型
const MyTable = require('./models/my-table');

具体查询逻辑:

const queryResult = await MyTable.findAll({
  where: {
    [Op.and]: [
      // 直接写字段运算的SQL片段,literal方法会原样拼接进查询语句
      sequelize.literal('col1 * col2 = 50'),
      // 普通等值条件正常写即可,Sequelize会自动做参数转义
      { col3: 'something' }
    ]
  }
});

注意:sequelize.literal()传入的内容不会做转义处理,如果里面有用户输入的动态参数,一定要自行做校验处理,避免SQL注入风险。


内容的提问来源于stack exchange,提问作者Moj.H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:27:03