sql - 最后到上个月
问题描述
以下代码为我提供了上个月从 1 到 30/31 的数据
_timestamp >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0) and _timestamp <= DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -0)
例如,如果今天是18/05/2021
它会给我从 1-04-2021 到 30/04/2021 的结果
我可以进行哪些更改来获取数据:1-03-2021
to30/03/2021
和
1-02-2021
to30/02/2021
解决方案
一些例子:
DECLARE @date DATETIME = '12/2/2011';
SELECT
DATEFROMPARTS(YEAR(@date), MONTH(@date), 1) AS [Start],
EOMONTH(@date) AS [End];
GO
SELECT
DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) -6, 0) AS [Start 6 ago],
DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) -5, 0)) AS [End 6 ago],
CAST(DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0) AS DATE) AS [Start This],
CAST(DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) + 1, 0)) AS DATE) AS [End This],
DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) +1, 0) AS [Start Next],
DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) + 2, 0)) AS [End Next]
推荐阅读
- python - ElementClickInterceptedException:消息:使用 Selenium WebDriver 拦截的元素单击
- reactjs - 如何在 npm run build 中传递 .env 文件?
- reporting-services - SSRS 如何为数据集创建计划刷新
- macos - 是什么导致 SSH 命令执行缓慢?
- html - HTML 自动完成功能无法与 VSCode 中的 Django 扩展一起使用
- java - showInputDialog - 单击取消选项
- linux - Shell 脚本每 24 小时失败一次,并出现错误 /bin/mkdir: Argument list too long
- python - 在 Celery 任务(Kubernetes 集群)中占用 900Mb RAM 的小型 Flask-SQLAlchemy 查询
- vue.js - 如何在 vue.js 中使用方向键在“v-text-fields”之间传输
- reactjs - 我使用了redux,但是通过连接钩子多次调用了api