Подтвердить что ты не робот

Как я могу использовать инструкцию SQL UPDATE для добавления 1 года в столбец DATETIME?

Я хочу добавить 1 год в столбец типа datetime в каждой строке таблицы. Добавление с помощью инструкции UPDATE легко для числовых типов. например:

UPDATE TABLE SET NUMBERCOLUMN = NUMBERCOLUMN + 1

Я хотел бы сделать то же самое с типом DATETIME...

UPDATE Procrastination SET DropDeadDueDate = DropDeadDueDate + ?

... но я не уверен, какую ценность использовать. Есть ли числовое значение, которое я мог бы использовать, что означает "1 год"? Или есть функция DATEADD или аналогичная функция в SQL Server?

ДОПОЛНИТЕЛЬНЫЙ ВОПРОС

Я хотел бы сделать это не для одного поля, а для каждого поля в базе данных типа данных 'datetime'. Есть ли простой способ выбрать все поля типа 'datetime' и выполнить обновление добавления x количество лет? Я новичок в sql, поэтому, пожалуйста, будьте нежны...

4b9b3361

Ответ 1

В T-SQL есть оператор DATEADD, вы можете найти его здесь

UPDATE Procrastination SET DropDeadDueDate = DATEADD(yyyy,1,DropDeadDueDate)

EDIT: вы можете использовать год, yy или yyyy для первого аргумента DATEADD.

Ответ 2

Это можно сделать с помощью функции DATEADD(), например:

UPDATE Procrastination SET DropDeadDueDate = DATEADD(yy, 1, DropDeadDueDate)

Ответ 5

Функция DateAdd должна делать то, что вы хотите.

UPDATE Procrastination SET DropDeadDueDate = DateAdd(yy, 1, DropDeadDueDate)