mysql - rails 将日期时间转换为范围内的日期

标签 mysql ruby-on-rails datetime ruby-on-rails-4

在我的模型中,我定义了以下范围:

scope :today, -> { where time_start: Date.today }

这不起作用,因为我正在将 mysql 日期时间与日期进行比较。 我正在尝试执行与 date() mysql 函数等效的操作(从日期时间中提取日期)。

最佳答案

试试这个:

scope :today, -> { where time_start: Date.today.beginning_of_day..Date.today.end_of_day }

在条件中使用范围将生成一个 BETWEEN 查询,如下所示:

SELECT "models".* FROM "models"
    WHERE (
        "models"."time_start" BETWEEN
            '2016-07-29 00:00:00.000000' AND '2016-07-29 23:59:59.999999'
    )

关于mysql - rails 将日期时间转换为范围内的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38646995/

相关文章:

mysql - 使用 SQL 在 Magento 中检索产品详细信息

php - mySql为购物车选择多个可能重复ID的ID

javascript - Ruby on Rails 嵌入按钮

sql - 如何在包含最大值的表中查找记录?

mysql - 在 MySQL 表中旋转

mysql - 如何使用子查询显示从未分配给不同表的列?

ruby-on-rails - Rails 页面特定维护模式

ruby-on-rails - 为什么carrierwave会导致NameError: uninitialized constant Micropost::PictureUploader错误?

javascript - 如何将 1 UTC 天添加到 JavaScript 日期?

Python : INPUT a microtime float, 结果格式化日期时间