【发布时间】:2017-01-11 00:31:39
【问题描述】:
我的任务是让一些在 SQL Server 2012 上正常运行的代码也可以在 SQL Server 2008 R2 上运行。我收到了这个错误:
附加信息:' 附近的语法不正确
当我尝试运行我的代码时,我发现我的这行 SQL 代码有问题
ALTER TABLE [dbo].[WorkTimeEntries]
ADD [TimeFinishedForRuntime] AS ISNULL([TimeFinished],
IIF ([TimeStarted] < SYSUTCDATETIME(), [dbo].[udf_GetCurrentDateTimeOffsetInTimeZone](DATENAME(TZOFFSET, [TimeStarted])), [TimeStarted]));
我已经读到,在这种情况下,当人们尝试获取日期时发生了某种错误,但我不确定我的情况出了什么问题。
【问题讨论】:
-
您在哪个 SQL 版本上运行它 - 2008 或 2012? IIF() 直到 2012 年才引入。
-
我编辑我的帖子,我的英语不好抱歉。它在 SQL 2012 上运行良好,在 SQL 2008 R2 上无法运行。
-
别担心,Shnugo 已经回答你了!
标签: sql-server tsql sql-server-2012 sql-server-2008-r2 iif