查询以返回下个月的所有值

问题描述

我在一个表格中有一个订阅数据集,看起来像这样:

表:
用户名
订阅类型
订阅结束日期

我正在尝试在 SSRS 中构建一个报告,该报告显示将在下个月某个时间到期的所有订阅的列表。该报告在每个月的第一天发送,需要显示下个月将到期的所有行。

例如:在 01-07-2021 发送的报告需要显示所有将在 8 月到期的订阅(因此所有 subscription_end_date 的值都从 01-08-2021 到 31-08-2021)。>

起初我认为使用如下所示的 where 语句将是答案:

WHERE [Subscription_end_date] = DATEADD(MONTH,1,GETDATE()) 

但不知何故它不返回任何值。我想知道我的解决方案是否朝着正确的方向发展,并且 DATEADD 与 GETDATE 相结合应该可以解决问题,或者我必须在整个其他语句中进行搜索

解决方法

您只需检查您的目标日期是否在所需范围内, 试试

from kubernetes import client,config
import base64
import sys    
config.load_kube_config()
v1 = client.CoreV1Api()
sec = str(v1.read_namespaced_secret("secret-name","namespace-name").data)
pas = base64.b64decode(sec.strip().split()[1].translate(None,'}\''))
print(pas)

当然,假设您在每个月的 1 号运行报告。

,

下个月的第一个日期可以使用:

dateadd(day,1,eomonth(getdate()))

因此,您可以在 where 子句中使用它:

where Subscription_end_date >= dateadd(day,eomonth(getdate())) and
      dateadd(day,eomonth(getdate())) < dateadd(month,dateadd(day,eomonth(getdate())))