Sql 选择Time.now位于两个datetime字段之间的记录

Sql 选择Time.now位于两个datetime字段之间的记录,sql,ruby-on-rails,activerecord,time,Sql,Ruby On Rails,Activerecord,Time,在活动表中,我有在开始列和在结束列 我要做的是选择时间所在的所有记录。现在位于这两列中的日期时间之间。您可以简单地执行以下操作: now = Time.now Activity.where('starts_at < ? AND ends_at > ?', now, now) now=Time.now 活动.where('在?'结束,现在,现在) 您也可以改用包含不等操作数(=)您可以简单地执行以下操作: now = Time.now Activity.where('starts_

活动
表中,我有
开始列和
结束列

我要做的是选择
时间所在的所有记录。现在
位于这两列中的日期时间之间。

您可以简单地执行以下操作:

now = Time.now
Activity.where('starts_at < ? AND ends_at > ?', now, now)
now=Time.now
活动.where('在<开始,在>?'结束,现在,现在)
您也可以改用包含不等操作数(
=

您可以简单地执行以下操作:

now = Time.now
Activity.where('starts_at < ? AND ends_at > ?', now, now)
now=Time.now
活动.where('在<开始,在>?'结束,现在,现在)

您也可以改为使用包含不等操作数(
=

尝试使用Squear gem,您会喜欢的,然后可以使用此操作数:

Activity.where{starts_at < Time.now & ends_at > Time.now}
Activity.where{start_atTime.now}
或者第二种选择可以是

实际上,与某些ORM不同的是,active record并没有使用方法来扩充symbol类,以允许以这种方式表达除等式以外的表达式。你只需要做


Activity.where('starts_at=?',Time.now,Time.now)

试试Squear gem,你会喜欢的,然后你可以使用它:

Activity.where{starts_at < Time.now & ends_at > Time.now}
Activity.where{start_atTime.now}
或者第二种选择可以是

实际上,与某些ORM不同的是,active record并没有使用方法来扩充symbol类,以允许以这种方式表达除等式以外的表达式。你只需要做

Activity.where('start_at=?',Time.now,Time.now)

试试这个

Activity.where("? BETWEEN starts_at AND ends_at", Time.zone.now)
试试这个

Activity.where("? BETWEEN starts_at AND ends_at", Time.zone.now)

可以在帖子中添加表格的样本行吗?可以在帖子中添加表格的样本行吗?