为 datadiff 指定的参数 1 无效

invalid parameter 1 specified for datadiff

我想每天自动更新数据库中有关持续时间的字段。公式是(截止日期 - 现在的日期)。我想使用 sql 服务器代理。但是当我测试作业时它失败了。

USE FacilityMonitoring
GO

UPDATE [dbo].[klaim]
   SET selisihint = DATEDIFF ("dd", GETDATE(), durasi_end)
GO

在 SQL 服务器代理中查询:

错误:

datediff() 的第一个参数是日期部分。虽然它不是字符串,因此将 "dd" 替换为 dd 应该可以完成工作:

USE FacilityMonitoring
GO

UPDATE [dbo].[klaim]
   SET selisihint = DATEDIFF (dd, GETDATE(), durasi_end)
GO

你引用的是多余的(阅读:错误)。删除它们,你应该没问题:

UPDATE [dbo].[klaim]
   SET selisihint = DATEDIFF (dd, GETDATE(), durasi_end)

使用数据库名称

UPDATE [schema_name].[Table_name]
   SET column_name= DATEDIFF (dd, GETDATE(), durasi_end)