-
sequelize.literal
を使用する方法:const { literal } = require('sequelize'); Model.findAll({ where: { date1: literal('date1 < date2'), }, });
上記の例では、
date1
カラムの値がdate2
カラムの値よりも小さい場合にレコードを取得します。 -
sequelize.fn
とsequelize.col
を使用する方法:const { fn, col } = require('sequelize'); Model.findAll({ where: { date1: { [Op.lt]: col('date2') }, }, });
上記の例では、
date1
カラムの値がdate2
カラムの値よりも小さい場合にレコードを取得します。[Op.lt]
はSequelizeの演算子を表しており、col
はカラムを参照するためのメソッドです。 -
sequelize.literal
とsequelize.where
を組み合わせる方法:const { literal, where } = require('sequelize'); Model.findAll({ where: where(literal('date1 < date2')), });
上記の例では、
date1
カラムの値がdate2
カラムの値よりも小さい場合にレコードを取得します。where
メソッドは条件を指定するために使用され、literal
は文字列を直接SQLクエリに埋め込むために使用されます。
これらの方法を使用して、Sequelizeを介して2つのカラムの日付を比較することができます。ご質問があればお知らせください。