假设我想找到一个模型,该模型在给定的日期时间(在14天之内)与给定的日期时间最接近。
dt = some_datetime_in_the_past
query = Model.where("created_at >= ? AND created_at <= ?", dt - 7.days, dt + 7.days)
这将获取在dt
的7天内创建的所有模型。然后,我想找到最接近dt的模型。像这样:
query.order("created_at - #{dt}")
显然那是行不通的,否则我不会在这里,但我想实现这样的目标。显然,created_at的常规订单不起作用,因为它只能找到最接近/最远的订单,而不是给定的dt
。
答案 0 :(得分:0)
尝试使用import React, { Component } from 'react';
import style from './styles/css/bootstrap.css';
class App extends Component {
render() {
return (
<div>
<button className={style['btn', 'btn-primary']}>test button</button>
</div>
);
}
}
export default App;
和created_at
的绝对值:
dt
答案 1 :(得分:0)
有了适当的警告,在插入原始SQL片段时需要非常小心,您应该可以使用:
query.order("CASE WHEN created_at > #{dt} THEN created_at - #{dt} ELSE #{dt} - created_at END")
(上次我检查过,由于种种原因,PostgreSQL没有提供abs(interval)
函数。)