У меня возникла задача решить сценарий на основе следующего: Сервер базы данных был сброшен с неправильной датой и временем, без каких-либо знаний. ОБНОВЛЯЙТЕ любую дату заказа на прошлой неделе, чтобы добавить 7 дней.Добавление 7 дней во все строки с датой за последние 7 дней
Уставка хранится в ORDERS.ORDERDATE. Я попытался использовать следующий код, и он не работает:
UPDATE ORDERS
SET ORDERDATE,DATEADD(day,7,OrderDate)
WHERE DATEDIFF >= (
DAY,
DATEDIFF(DAY, @ORDERDATE, -7),
GETDATE());
Может ли кто-нибудь предоставить мне правильный код?
Любая помощь приветствуется!
В зависимости от объема данных, которые вы собираетесь обновить, вам может потребоваться цикл ожидания и включить промежуточные коммиты –
'ORDERDATE = ORDERDATE + 7' работает только в том случае, если тип данных ORDERDATE равен' DATE'. Для типа данных 'TIMESTAMP' вы должны использовать' INTERVAL'. –