sql - 日期固定以提取上个月和当前月份的数据
问题描述
我们的系统将数据提取到前一天,如果当前日期是第 1 天,如果当前日期在第 1 天之后,我正在尝试查看用于提取上个月数据的选项,那么在这种情况下,我需要查看从当前月份开始到月底的数据
每月一次,我不断更改“@previous_calendar_date”
declare @first_day_of_previous_calendar_date_month datetime
set @first_day_of_previous_calendar_date_month = dateadd(dd,-datepart(dd,@previous_calendar_date)+1,@previous_calendar_date)
我不想在这里每月手动干预。
declare @previous_calendar_date datetime
set @previous_calendar_date = '20190430'
declare @first_day_of_previous_calendar_date_month datetime
set @first_day_of_previous_calendar_date_month = dateadd(dd,-datepart(dd,@previous_calendar_date)+1,@previous_calendar_date)
解决方案
我想你想要这样的东西:
where (day(getdate()) = 1 and datediff(month, datecol, getdate()) = 1) or
(day(getdate()) <> 1 and datediff(month, datecol, getdate()) = 0)
推荐阅读
- python - 如何调整烧瓶邮件以支持两个 SMTP 帐户
- css - 如何修复 flexbox 布局和绝对定位中的 z-index 问题?
- python - Python Slack Bot 不会在直接消息中发布
- python - 使用 Python 将数据导入 SQL
- bash - 如何仅通过 2files 循环下载带有 wget 的链接,而不是等到 pdfunite 合并 2 个文件而不是删除到其他文件夹
- wpf - Windows 安全对话框失去焦点并在 WPF 应用程序中变得不可点击
- java - 异步 Rest API 调用的调用处理程序
- ios - 这叫什么,我该如何实现?
- node.js - Jest Mock Promise with Params
- ruby-on-rails - Docker 组成桥接网络