Я пытаюсь контролировать дату в месяц с помощью этого сценарияIIF ошибки в SQL Server 2014
DECLARE @Date DATETIME = '2015-07-31';
DECLARE @MonthCount INT = 3;
DECLARE @controlDate DATETIME = '2015-04-28';
SELECT
MONTH(@controlDate),
MONTH(DATEADD(MONTH, [email protected], @Date)),
IIF(MONTH(@controlDate) > MONTH(DATEADD(MONTH, [email protected], @Date)),'OK','No') as isOK
Но я получаю эту ошибку синтаксиса:
Msg 102, Level 15, State 1, Line 8 Incorrect syntax near '>'
EDIT: Когда я попробую if
, он работает:
DECLARE @Date DATETIME = '2015-07-31';
DECLARE @MonthCount INT = 3;
DECLARE @controlDate DATETIME = '2015-04-28';
if(MONTH(@controlDate) > MONTH(DATEADD(MONTH, [email protected], @Date)))
print 'OK'
else
print 'No'
Что я делаю неправильно или это ошибка?
Я считаю, что вам нужен синтаксис 'case' здесь: http://stackoverflow.com/a/63480/60188 –
@AntonGogolev, но я не хочу использовать случай. IIF более прост. –
@eMKey - Его работа здесь http://sqlfiddle.com/#!6/ffa43/4 –