首页 > 解决方案 > 从 Rails 查询转换 SQL Server 日期格式

问题描述

尝试完成以下查询:

@articles = Article.("created_at = ?", Date.today)

created_at列在数据库中的格式如下:2018-04-20 10:09:41.413.

我需要能够从中删除时间戳,created_at以便我可以成功完成查询。(以便created_at查询仅返回2018-04-20)我尝试将其仅转换为日期,但它只返回所有条目。

@articles = Article.("CONVERT(date,GETDATE()) = ?", Date.today)

我正在使用activerecord-sqlserver-adapter连接到 Azure SQL Server 的 in Rails 5/Ruby 2.5。

标签: sql-serveractiverecordruby-on-rails-5

解决方案


为什么不更改您查询的内容呢?

@articles = Article.where(created_at: DateTime.now.beginning_of_day..DateTime.now.end_of_day)

或者

@articles = Article.("created_at >= ?", Date.today.beginning_of_day)

DateTime.now.beginning_of_day 然后,您将捕获当天创建的所有记录。


推荐阅读