我想在Sequelize中查找createdAt和UpdateAt相同的数据只考虑日期而不是日期时间

问题描述 投票:0回答:1
    const StudentAssessmentTransaction = sequelize.define(
      "studentAssessmentTransaction",
      {
        id: {
          type: DataTypes.INTEGER,
          allowNull: false,
          autoIncrement: true,
          primaryKey: true,
        },
        status: {
          type: DataTypes.STRING,
          defaultValue: "Pending",
          validate: {
            isIn: {
              args: [["Pending", "Success"]],
              msg: "Type must be either 'Pending' or 'Success'",
            },
          },
        },
      },
      {
        paranoid: true,
      }
    );

我想查找创建时间和更新时间相同的数据仅考虑日期而不是日期时间

我尝试了多种方法但没有获取数据

尝试过的事情

    where: { [Op.eq]: [ fn('DATE', col('createdAt')), fn('DATE', col('updatedAt'))] } 
    [Op.eq]: literal("DATE(studentAssessmentTransaction.createdAt) = DATE(studentAssessmentTransaction.updatedAt)")
mysql node.js sequelize.js
1个回答
0
投票

我尝试了不同的方式,终于找到了这个答案

where: {
        [Op.and]: [
          Sequelize.where(
            fn("DATE", col("createdAt")),
            Op.eq,
            fn("DATE", col("updatedAt"))
          ),
        ],
      },

使用这个我们可以找到createAt和updateAt相同的数据并且这仅考虑日期进行比较

© www.soinside.com 2019 - 2024. All rights reserved.