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);