在2个日期之间搜索

时间:2019-03-06 13:29:36

标签: ruby-on-rails ruby sqlite search

我正在尝试2个日期之间进行搜索。我创建了一个高级搜索表单,其中包含2个字段,await <reactFileDownload()> .then(() => {proceed()}) date_from。我想使用这些字段在created_at和completed_at的日期范围之间进行搜索。

我写了一个查询,但是却得到了空白结果(无条目)

date_to

2 个答案:

答案 0 :(得分:0)

确保date_fromdate_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')