sql - 如何获取上个月数据和本月至今数据

标签 sql sql-server tsql sql-server-2008

需要帮助编写查询以获取上个月的数据以及本月至今的数据。

如果今天的日期是2011年3月23日,我需要检索上个月的数据以及直到今天的数据(指2011年3月23日)。

如果日期是 2011 年 4 月 3 日,则数据应包含 3 月数据和截至 2011 年 4 月 3 日的数据。

谢谢

沙赫斯拉

最佳答案

Today including time info  : getdate()
Today without time info    : DATEADD(DAY, DATEDIFF(day, 0, getdate()), 0)
Tomorrow without time info : DATEADD(DAY, DATEDIFF(day, 0, getdate()), 1)
Beginning of current month : DATEADD(month, datediff(month, 0, getdate()), 0)
Beginning of last month    : DATEADD(month, datediff(month, 0, getdate())-1, 0)

很有可能

WHERE dateColumn >= DATEADD(month, datediff(month, 0, getdate())-1, 0)
  AND dateColumn <  DATEADD(DAY, DATEDIFF(day, 0, getdate()), 1)

关于sql - 如何获取上个月数据和本月至今数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412019/

相关文章:

sql-server - key 锁实际上锁定了什么资源?

mysql - 如何在 mySQL 中创建一个空的 VIEW

sql - 数据源和数据集的区别

sql-server - 快速生成 SQL Server 2005 脚本

sql - 给每个group id设置group的最大值

sql-server - 我可以使用备份/恢复来移动使用 EF Code First 创建的数据库吗?

sql - 为什么子查询会导致扫描而静态列表不会?

php - 带变量的 WordPress 自定义查询

c# - 如何使用 c# 中的 MySQL 存储过程将表作为输入发送到存储过程?我有 T-SQL 工作

sql-server - SQL Server 无法创建外键时,能否告诉您它找到了哪些路径?