1
Я пытаюсь использовать IIF
впервые вместо CASE
и SQL Server бросает эту ошибку:SQL Server 2008 R2: TSQL IIF запрос не распознан
Msg 102, Level 15, State 1, Line 9
Incorrect syntax near '>'.
Мой код:
DECLARE @lDate date = CONVERT(date,GETDATE());
DECLARE @lMonth int = MONTH(@lDate);
DECLARE @lDay int = DAY(@lDate);
DECLARE @lPeriodStart date, @lPeriodEnd date, @lPayPeriod int, @lCutOffDay int = 14;
--there are 24 pay periods find which one
SET @lPayPeriod = @lMonth * 2 - IIF(@lDay > @lCutOffDay, 0, 1);
SELECT @lPayPeriod
Я не понимаю, как это отличается от рекомендаций от MSDN.
Не являясь носителем английского языка Я не уверен, что «было» является правильным временем в первом предложении, или если «должно быть». Может ли кто-нибудь просветить меня? – jpw
«было» здесь правильно. «были», было бы уместно, когда вы говорите о множественных вещах. «IIF был введен в SS 2012» «IIF и COLUMNSTORE были введены в SS 2012» –
@DaveMarkle Спасибо, что разъяснил это для меня. – jpw