Я пытаюсь установить некоторые переменные и создать процедуру, которая будет производить разные типы таблиц в каждом случае оператора. Условия зависят от типов данных даты, и я получаю ошибку:
Сообщение 402, Уровень 16, Состояние 1, Процедура epSP, Строка 50 [Стартовая строка запуска
0] Типы данных time и datetime несовместимы в большей
чем или равно оператору.
Код, который я добавил, - это не весь код. Это часть более длинного оператора с оператором IF.
Я попытался добавить типы данных даты перед различными частями процедур и изменить дату после оператора <на оператор выбора. </p>
CREATE PROCEDURE epSP
@StartDate DATETIME,
@EndDate DATETIME,
@CompanyID INT
AS
SET @StartDate = '2019-04-04 00:00:00'
SET @EndDate = '2019-04-11 00:00:00'
SET @CompanyID = 1234567
BEGIN
(CAST(GETDATE() AS DATETIME) < @StartDate)
(
SELECT sa.CompanyID,
sa.EmployeeID,
sm.Day,
sa.Date,
sm.ShiftType,
sm.StartTime,
sm.EndTime
FROM ShiftArrangement sa
LEFT JOIN ShiftManagement sm
ON (sa.SHIFTID = sm.ShiftID)
WHERE sa.CompanyID = @CompanyID
AND sa.Date BETWEEN @StartDate AND @EndDate
)
Ожидаемый результат - оператор SELECT в соответствии с датой, указанной в переменной, определенной в начале оператора. На самом деле код не возвращает никакого значения.