首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从相应的SQL继承嵌套where子句

从相应的SQL继承嵌套where子句
EN

Stack Overflow用户
提问于 2022-01-30 14:43:57
回答 1查看 434关注 0票数 0

给定以下SQL查询

代码语言:javascript
复制
SELECT *
FROM `table_name`
WHERE 
    (`year` > YEAR('2021-01-01') OR 
     (`year` = YEAR('2021-01-01') AND 
     `weekNumber` >= WEEK('2021-01-01'))
    )
    AND (`year` < YEAR('2021-10-11') OR 
         (`year` = YEAR('2021-10-11') AND 
         `weekNumber` <= WEEK('2021-10-11')))

如何使用后缀ORM生成相同的查询?我使用的是续写版本6

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-30 16:11:21

这样很容易使用Op.andOp.orSequelize.fn

代码语言:javascript
复制
const rows = await Model.findAll({
  where: {
   [Op.and]: [
    {
    [Op.or]: [{
       year: {
         [Op.gt]: Sequelize.fn('YEAR', '2021-01-01')
       }
    }, {
       year: Sequelize.fn('YEAR', '2021-01-01'),
       weekNumber: {
         [Op.gte]: Sequelize.fn('WEEK', '2021-01-01')
       }
    }
    ]
   },
    {
    [Op.or]: [{
       year: {
         [Op.lt]: Sequelize.fn('YEAR', '2021-10-11')
       }
    }, {
       year: Sequelize.fn('YEAR', '2021-10-11'),
       weekNumber: {
         [Op.lte]: Sequelize.fn('WEEK', '2021-10-11')
       }
    }
    ]
   }
   ]
  }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70915723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档