c# - 自本月初以来计算数据库行数
问题描述
我希望返回DateTime
for的月份元素bookEntryTime
是当前月份的书籍的行数(计数)。
public int GetMonthlyCount()
{
var today = DateTime.Today;
var month = new DateTime(today.Year, today.Month, 1);
var first = month.AddMonths(-1);
return database.ExecuteScalar<int>("SELECT count(*) FROM Book WHERE bookEntryTime > ?;", first);
}
此查询还计算上个月输入的书籍。查询有什么问题?
解决方案
由于您只对当前月份感兴趣,而不是过去 30 天(不是 1 个月),请删除此行:
var first = month.AddMonths(-1);
当然使用的参数是现在month
return database.ExecuteScalar<int>("SELECT count(*) FROM Book WHERE bookEntryTime > ?;", month );
推荐阅读
- linux - 从汇编函数调用返回到 C 程序时,如何处理堆栈指针寄存器?
- database - 在 SharePoint 中集成附件的最佳方式是什么?
- matlab - Monte Carlo Localization - Matlab getParticles 函数为所有粒子返回相同的权重
- nan - 将变量类型从 NaN 更改为数字 JavaScript
- java - java代码调用远程api得到pkix(ssl)错误而其他人没有
- java - java - 如何处理在java中使用相同对象的多重if语句和案例?
- asp.net-core-webapi - .NET 5 WEB API 未在邮递员和浏览器中返回响应
- kotlin - Kotlin RxJava 在循环中一一调用 API,如果任何 API 响应有期望的结果,则终止循环
- javascript - React JS 在状态数组中映射数组
- reactjs - 如何使用模型序列化器将不同的多对多字段添加到 django-rest-framework 中的单个实例或外键行中