Создание параметра времени в SSMS 2016 для отчета SSRS - PullRequest
1 голос
/ 27 мая 2020

Я пытаюсь создать отчет SSRS, который позволяет пользователям искать заказы на работу по временному диапазону в дополнение к дате. Например: запросы от 1 / 20-5 / 27/20, которые имели место между 17:00 и 19: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;

Это моя первая публикация, так что я надеюсь, что все это имело смысл! Спасибо за помощь!

1 Ответ

0 голосов
/ 27 мая 2020

Как я уже сказал, предполагая, что 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;
...