【问题标题】:Ruby on Rails time match database start and end timesRuby on Rails 时间匹配数据库开始和结束时间
【发布时间】:2011-04-06 08:22:57
【问题描述】:

我一直在努力解决这个问题:

我有一个包含 start_timeend_time 以及 start_dateend_date 列的表,并且我有一个名为 Time 的对象 test_time。我需要能够在 sql 查询中匹配这些值。即。

Reservation.find :all, :conditions => ["'start_time' = ?", test_time, test_time]

假设我们只查看时间而不是日期,我如何确定test_time 是否在从start_time 开始到end_time 结束的时间范围内。换句话说,上午 11:30 介于上午 11:15 和上午 11:45 之间。我试过 SQL BETWEEN 子句,但没有成功。

【问题讨论】:

  • 时间是如何存储的?我的意思是什么格式?我也想问一下,当日期字段可以兼顾两者时,需要时间列。
  • 我意识到 Time 字段不是必需的,所以我将更改它。时间以 Time 类型存储在 SQLLite3 中。

标签: sql ruby-on-rails database time


【解决方案1】:

您可能对安装 ar-extensions 插件感兴趣。它提供了一种简单的语法来处理这些类型的查询。我用它来查找给定的纬度/经度位置是否在某个半径内:

ar-extensions

【讨论】:

  • 我看了看,但我宁愿不必改变 Rails 的核心(我认为这就是你的建议),并且该扩展的文档还有很多内容想要的。有没有一种无需插件的方式来完成上述操作?
猜你喜欢
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多