为datadiff指定的参数1无效

时间:2016-08-30 06:28:41

标签: sql sql-server ssms datediff sql-agent-job

我想在数据库中每天自动更新字段有关持续时间。公式是(到期日 - 现在的日期)。我想使用sql server agent。但是当我测试这项工作失败了。

USE FacilityMonitoring
GO

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

在SQL Server代理中查询:

query in sql server agent

错误:

error showing like this

3 个答案:

答案 0 :(得分:1)

datediff()的第一个参数是datepart。它不是一个字符串,所以用"dd"替换dd应该可以完成这项工作:

USE FacilityMonitoring
GO

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

使用数据库名称

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