gpt4 book ai didi

缺少结束日期的两个日期之间的 SQL (SSRS)

转载 作者:行者123 更新时间:2023-12-01 10:51:57 25 4
gpt4 key购买 nike

我正在使用 SSRS 2008r2 生成报告。在 SQL 查询中使用以下 WHERE 语句

WHERE (NonPMJobs.npmJobCreateDate >= @Created_Parameter) AND     
(NonPMJobs.npmJobCreateDate <= @Created_Parameter2)

我正在使用数据类型为 DateTime 的参数.然后用户从日历中选择日期。我想获得在日期 1 ( @Created_Parameter ) 和日期 2 ( @Created_Parameter2 ) 之间创建工作的结果。

但返回的结果不包括第二个日期 ( @Created_Parameter2 )。如果我选择 01/07/2013 - 05/07/2013我得到 01, 02, 03, 04 但没有 05。如果我选​​择 01/07/2013 - 06/07/2013 我得到 01, 02, 03, 04, 05。

我试过使用:
WHERE (NonPMJobs.npmJobCreateDate BETWEEN @Created_Parameter AND @Created_Parameter2)

但得到相同的结果。

我在这里错过了什么,为什么没有 WHERE声明包含?任何指针将不胜感激。

最佳答案

嗯,你需要考虑一下:一个 DATETIME像这样:05/07/2013表示 7 月 5 日(或 5 月 7 日 - 取决于您所在的地区)在一天开始的午夜 (可以说是 00:00 小时)。

所以这是不是 包括当天发生的事件!

最好的解决方案是使用

WHERE (NonPMJobs.npmJobCreateDate >= @Created_Parameter) AND     
(NonPMJobs.npmJobCreateDate < DATEADD(DAY, 1, @Created_Parameter2))

并且基本上得到比 小的所有东西下一个 日基于 @Created_Parameter2 .因此,对于您的 7 月 5 日,这将是 7 月 6 日之前的任何时间 - 其中包括 全部 7 月 5 日的事件。

关于缺少结束日期的两个日期之间的 SQL (SSRS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18144844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com