SQL Server - 选择日期为上个月的所有项目

标签 sql sql-server tsql datetime

我的 SQL Server 数据库中有一个名为“items”的表,其中有一列名为“dateFinished”。

我有一个脚本,将在每个月的第一天运行,需要选择上个月完成的所有项目。

因此,例如,在 2 月 1 日,需要选择 dateFinished 大于或等于 1 月 1 日 00:00 且小于 2 月 1 日 00:00 的所有项目。

它还需要在新年期间发挥作用(例如 12 月 - 1 月)。

有什么想法吗?

最佳答案

Select * 
  from items 
 where datefinished >= dateadd(m, datediff(m, 0, GETDATE()) - 1, 0) 
   AND datefinished < dateadd(m, datediff(m, 0, GETDATE()), 0)

关于SQL Server - 选择日期为上个月的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2188929/

相关文章:

java - SQL AVG() 函数在多列时返回 INT

mysql等效数据类型

sql - 改进 SQL DateTime 的工作

php - 如果在 php 中查询成功,如何提醒用户?

sql - 选择基于员工的可用性查询 SQL Server 2012

javascript - 无法使 JavaScript Accordion 与 SQL Server 表一起正常工作

sql-server - 在 sql 查询中替换第一个 FROM

sql - 选择查询的事务死锁

sql - 我需要sql server中的一个函数来在输入字符串的每个位置插入一个空格

php - PDO - SQL COUNT 在 PHP 函数中不起作用