我正在尝试2个日期之间进行搜索。我创建了一个高级搜索表单,其中包含2个字段,await <reactFileDownload()>
.then(() => {proceed()})
和date_from
。我想使用这些字段在created_at和completed_at的日期范围之间进行搜索。
我写了一个查询,但是却得到了空白结果(无条目)
date_to
答案 0 :(得分:0)
确保date_from
和date_to
的类型为date
,否则将其转换为inito日期
#date_to = date_to.to_date
#date_from = date_from.to_date
查询-
requests = requests.where("created_at::date >= ? AND completed_at::date < ?", date_from, date_to)
或
requests = requests.where("created_at >= ? AND completed_at < ?", date_from.beginning_of_day, date_to.end_of_day)
答案 1 :(得分:0)
您可以将日期强制转换为date
格式,并按以下方式使用:
requests = requests.where("DATE(created_at) > ? AND DATE(completed_at) < ?", date_from, date_to)
它会触发,就像这个on-rails控制台一样
Request Load (1.9ms) SELECT "requests".* FROM "requests" WHERE (DATE(created_at) > '2019-03-03' AND DATE(completed_at) < '2019-03-09')