Указан неверный параметр 1 для datadiff

Я хочу обновлять поле каждый день автоматически в базе данных о продолжительности. формула (срок исполнения - дата сейчас). Я хочу использовать агент сервера sql. Но когда я проверял работу, это не удавалось.

USE FacilityMonitoring
GO

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

Запрос в агенте SQL Server:

запрос в агенте сервера sql

Ошибка:

ошибка, показывающая вот так

3 ответа

Решение

Первый аргумент 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)
Другие вопросы по тегам