我正在尝试创建一个SSRS报告,该报告允许用户除日期外还按时间范围搜索工作订单。例如:从5/1 / 20-5 / 27/20发出的请求发生在下午5:00之间。下午7:00以下是我来自SSMS 2016的存储过程,由于它们不起作用,我注释了时间参数。这会产生我需要的未精炼的数据,并且日期参数起作用,这是我遇到问题的时间参数。
@STARTDATE DATE,
@ENDDATE DATE
--@STARTTIME TIME,
--@ENDTIME TIME
AS
SELECT
[PROBLEMCODE]
,FORMAT([DATETIMEINIT], 'yyyy-MM-dd') AS 'DATE'
,FORMAT([DATETIMEINIT], 'hh:mm tt') AS 'TIME'
,[STATUS]
FROM [Cityworks].[azteca].[REQUEST]
WHERE REQCATEGORY IN ('WATER', 'SEWER')
AND [DATETIMEINIT] BETWEEN @STARTDATE AND @ENDDATE
--AND FORMAT([DATETIMEINIT], 'HH:mm') BETWEEN @STARTTIME AND @ENDTIME;
这是我第一次发布,所以我希望所有这些都有意义!谢谢您的帮助!
[就像我说的,假设DATETIMEINIT
是datetime
/datetime2
/ datetimeoffset
:
CREATE dbo.YourProc @StartDate date, @EndDate DATE --Or datetime2, etc, depending on requirement
AS
BEGIN
SELECT [PROBLEMCODE],
DATETIMEINIT,
[STATUS]
FROM [Cityworks].[azteca].[REQUEST]
WHERE REQCATEGORY IN ('WATER', 'SEWER')
AND [DATETIMEINIT] >= @STARTDATE
AND DATETIMEINIT < @ENDDATE;
END;