sql-server - 从 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。
解决方案
为什么不更改您查询的内容呢?
@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
然后,您将捕获当天创建的所有记录。
推荐阅读
- sql - 对于 SQL Server 中的此类数据,我应该使用什么循环?
- java - 无法在 Spring RestTemplate 中模拟 JSON 响应
- .net - 如何使用 Terraform azurerm_app_service 指定 .net 核心版本
- python - Python 脚本挂在 json.loads() 上
- javascript - JavaScript:如何从 json 字符串中获取逗号分隔的字符串?
- google-cloud-platform - 无法创建 GCP 帐户。国家中国选项不可用
- uikit - 如何将 UIImage 转换或加载到 PKDrawing 中?
- karate - 如果内容类型是 multipart/formdata,如何在空手道框架中发出 POST 请求?
- c# - 使用 Selectize.js 不会触发选择列表的 asp.net 核心客户端验证
- python - 为什么我的 python 代码没有执行,而是给了我一个“无”错误并且只执行了一部分?