Как сделать даты в образце таблицы более свежими? - PullRequest
0 голосов
/ 24 января 2020

У меня есть таблица с приблизительно 5000 записей в «выборочной» базе данных, которая содержит действительно старые данные, т.е. поле «Дата» в этой таблице содержит записи с 2003 года. Это, безусловно, выглядит «старым» в демонстрациях продукта для потенциальных клиентов. Я хочу сделать эти даты более свежими, но распределить их в течение месяца.

Ниже приводится то, что я придумал, чтобы обновить даты, чтобы они были более свежими. Это одно решение, о котором я мог подумать. Я ищу другие / простые / более элегантные решения от этого сообщества.

Declare @Decrement float 
Set @Decrement = 0.0;
With Cte As
(
    SELECT top 9999 * FROM <TableName> Order by ID Desc
)
Update Cte 
Set <MyDateField> = getdate() - @Decrement
  , @Decrement = @Decrement + 0.006

Спасибо.

1 Ответ

0 голосов
/ 24 января 2020

Вы можете просто добавить заданное количество лет ко всем записям с помощью DATEADD (), в котором все они будут иметь одинаковые релевантные даты друг для друга. Вы также можете получить более мелкое зерно, скорректировав месяцы.

With Cte As
(
    SELECT top 9999 * FROM <TableName> Order by ID Desc
)
Update Cte 
SET <MyDateField> = DATEADD(YEAR, -2, <MyDateField>);
...