首页 > 解决方案 > 需要通过选择开始日期来显示第二班数据?

问题描述

第二班创建库存,并在当时加盖时间戳。问题是在报告时,如果我选择 2019 年 1 月 10 日的第二班,我将不会获得午夜之后创建的任何库存,因为日期已更改。

例如:9号2班生产了两个项目。一个在午夜之前,一个在午夜之后。我运行了一份报告,询问第二班在 9 日生产了什么,但它只返回托盘一而不是托盘二,因为从技术上讲,托盘二是在 10 日创建的。

我不能只选择9号和10号二班,因为那样我会得到9号二班生产的后半部分,以及10号二班生产的前半部分。我也不想让我的报告查看者输入除日期之外的时间。

我需要两件事中的一件…… 1. 一种输入这些数据的方式,我可以得到我需要的数据。2.一种以我可以获得所需数据的方式输出此数据的方法。(这个最好)

数据在 SQL 中,我正在 SSRS 中创建此报告。我试过输入日期和时间,但仍然没有得到想要的结果......

标签: tsqlreporting-servicesssrs-2008

解决方案


由于您的数据中似乎有您的班次编号并且带有时间戳,您可以使用 CASE 语句根据班次调整日期时间。

SELECT SHIFT, PRODUCTION_DATE, 
    CASE SHIFT WHEN 2 THEN DATEADD(HOUR, -8, PRODUCTION_DATE) ELSE PRODUCTION_DATE END AS PRODUCTION_DATE_ADJUSTED
FROM TABLE

推荐阅读