Ruby on Rails 日期查询和修改的方法--数据库常用操作
Posted HaimaBlog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby on Rails 日期查询和修改的方法--数据库常用操作相关的知识,希望对你有一定的参考价值。
Ruby on Rails 日期查询方法
查询近超过1个小时的数量
Order.where(\' created_at <= ? \', DateTime.now - 1.hours).count
查询近三个月的数量
Order.where(\' created_at >= ? \', DateTime.now - 3.month).count
查询上个月的数量
Order.where(created_at: (DateTime.now - 1.month).beginning_of_month..DateTime.now.beginning_of_month).count
查询本月的数量
Order.where(\' created_at >= ? \', DateTime.now.beginning_of_month).count
近一周
Order.where(\' created_at >= ? \', DateTime.now - 7.day).count
修改超过一个小时的数据
# 修改超过一个小时的任务
# past_time = (n_time - 1.hours).strftime("%Y-%m-%d %H:%M:%S")
# => "2021-08-05 20:55:31"
CategoryStatistic
.where("state = \'init\' and end_at IS NULL ")
.where("begin_at<=?", DateTime.now - 1.hours)
.update_all(state: FAILED, end_at: n_time, updated_at: n_time)
运行结果:
UPDATE `category_statistics` SET `category_statistics`.`state` = \'failed\', `category_statistics`.`end_at` = \'2021-08-05 22:27:45\', `category_statistics`.`updated_at` = \'2021-08-05 22:27:45\' WHERE (state = \'init\' and end_at IS NULL ) AND (begin_at<=\'2021-08-05 21:27:45.684015\')
批量修改
Client.where(id: init_ip_infos.pluck(:id)).update_all(state: "init")
[Haima的博客]
http://www.cnblogs.com/haima/
以上是关于Ruby on Rails 日期查询和修改的方法--数据库常用操作的主要内容,如果未能解决你的问题,请参考以下文章