Ваша хранимая процедура состоит только из первого оператора SELECT
, потому что вы не используете BEGIN
/ END
:
CREATE PROCEDURE sumBetweenDates (
@QueryFromDate DateTime,
@QueryToDate DateTime
) AS
BEGIN
SELECT SUM(CONVERT(INT, SUBSTRING(TimeStringColumn, 1, 2))) as hh
FROM InfoTable
WHERE TimeStampColumn between @QueryFromDate and @QueryToDate
GROUP BY TimeStampColumn;
SELECT SUM(CONVERT(INT, SUBSTRING(TimeStringColumn, 3, 2))) as mm
FROM InfoTable
WHERE TimeStampColumn BETWEEN @QueryFromDate and @QueryToDate
GROUP BY TimeStampColumn;
SELECT SUM(CONVERT(INT, SUBSTRING(TimeStringColumn, 5, 2))) as ss
FROM InfoTable
WHERE TimeStampColumn BETWEEN @QueryFromDate and @QueryToDate
GROUP BY TimeStampColumn;
END; -- sumBetweenDates
Я не совсем уверен, что вы хотите.Основываясь на данных примера, вы, похоже, хотите:
CREATE PROCEDURE sumBetweenDates (
@QueryFromDate DateTime,
@QueryToDate DateTime
) AS
BEGIN
SELECT DISTINCT CONVERT(INT, SUBSTRING(TimeStringColumn, 1, 2))) as hh,
CONVERT(INT, SUBSTRING(TimeStringColumn, 3, 2))) as mm,
CONVERT(INT, SUBSTRING(TimeStringColumn, 5, 2))) as ss
FROM InfoTable
WHERE TimeStampColumn BETWEEN @QueryFromDate AND @QueryToDate;
END;
Однако это не кажется особенно полезным, и можно предположить, что вы хотите что-то сложить.