SQL Server 2008 r2:无法识别TSQL IIF查询

时间:2016-09-27 15:25:59

标签: tsql sql-server-2008-r2 iif

我第一次尝试使用IIF而不是CASE,SQL Server会抛出此错误:

  

Msg 102,Level 15,State 1,Line 9
  '>'附近的语法不正确。

我的代码:

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

我不明白这与https://github.com/mrdoob/three.js/blob/dev/examples/js/loaders/ColladaLoader.js#L181-L204的指南有什么不同。

1 个答案:

答案 0 :(得分:4)

SQL Server 2012中引入了

IIF。当您使用SQL Server 2008标记了您的问题时,我说这是问题的根源。

您的语法有效,代码可以在较新版本中使用。