У меня есть таблица данных под названием «Запросы», в которой записываются запросы, сделанные сотрудниками компании, я использовал хранимую процедуру для получения всех запросов за один рабочий день (начиная с 6 утра и заканчивая в 6 утра следующего день)
USE [DataBase]
GO
/****** Object: StoredProcedure [dbo].[SP_GetRequests] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[SP_GetRequests]
as begin
DECLARE @from datetime
set @from = getdate();
if (DATEPART(HOUR, @from) < 6) set @from = dateadd(day, -1, @from);
DECLARE @start_date datetime = CONVERT(datetime, CONVERT(char(9), @from, 112) + '06:00');
DECLARE @end_date datetime = DATEADD(HOUR, 24, @start_date)
select * FROM Requests
where RequestDate between @start_date and @end_date
end
Теперь мне нужна еще одна хранимая процедура, чтобы получить все запросы от определенной c рабочей смены.
Компания работает в 3 рабочих смены (1-е: с 6:00 до 14:00 / 2-е: с 14:00 до 22:00 / 3: с 22:00 до 6:00).
Есть ли способ получить все запросы от одного сдвиг?
Например: если текущее время 5:00, показывать только запросы с 3-й смены (с 22:00 до 6:00), и если это 15:00, показывать только запросы со 2-й смены (с 14:00 до 22:00)