w3schools ejemplos dentro sql sql-server sql-server-2012 sql-server-2008-r2 iif

sql - ejemplos - Sintaxis incorrecta cerca de ''<''



select if sql (1)

Tengo una tarea para obtener un código que funciona correctamente en SQL Server 2012 para trabajar en SQL Server 2008 R2 también. Tengo este error:

Información adicional: sintaxis incorrecta cerca de ''<''

Cuando intento ejecutar mi código, descubro que algo está mal en esta línea de mi código SQL

ALTER TABLE [dbo].[WorkTimeEntries] ADD [TimeFinishedForRuntime] AS ISNULL([TimeFinished], IIF ([TimeStarted] < SYSUTCDATETIME(), [dbo].[udf_GetCurrentDateTimeOffsetInTimeZone](DATENAME(TZOFFSET, [TimeStarted])), [TimeStarted]));

He leído que en estos casos se produjo algún tipo de error cuando las personas intentan obtener una fecha, pero no estoy seguro de lo que está mal en mi caso.


No hubo IIF en SQL Server 2008R2.

Reemplácelo con CASE

ALTER TABLE [dbo].[WorkTimeEntries] ADD [TimeFinishedForRuntime] AS ISNULL( [TimeFinished], CASE WHEN [TimeStarted] < SYSUTCDATETIME() THEN [dbo].[udf_GetCurrentDateTimeOffsetInTimeZone](DATENAME(TZOFFSET, [TimeStarted])) ELSE [TimeStarted] END);