我想查询所有 createdAt 和当前时间之差大于 5 分钟的记录。
SELECT * FROM Rides where "createdAt" < NOW() - INTERVAL '5 MINUTE';
我试过这个,但没有成功。
return db('TABLENAME')
.SELECT('*')
.where('COL1', 'data1')
.andWhere('COL2', 'data2')
.andWhereRaw('createdAt', '<', 'now() - INTERVAL 5 MINUTE');
您需要使用knex.raw()
来传递不是"用户输入"的内容。
return db('TABLENAME')
.SELECT('*')
.where('COL1', 'data1')
.andWhere('COL2', 'data2')
.andWhere('createdAt', '<', db.raw(`now() - INTERVAL '5 MINUTE'`));