Как данные за день продублировать на следующий день sql-запросом? (MsSql)

Имеются данные в бд введите сюда описание изображения

Нужно скопировать эти данные но уже с датой следующего дня


Ответы (1 шт):

Автор решения: Miron

Структура используемой таблицы:

CREATE table info(
    id int auto_increment  primary key,
    date DATETIME not null,
    _number INTEGER
);

Ее заполнение:

INSERT INTO info 
(date, _number) 
values 
    ('1000-05-03 00:00:00', 1), 
    ('2001-01-02 00:00:00', 3);

Вот, как можно прибавить n-ое кол-во дней к дате:

DATE_ADD('2008-01-02 13:38:50.02', INTERVAL n DAY)

Не составит труда теперь составить запрос:

INSERT INTO info 
(date, _number) 
SELECT 
    DATE_ADD(date, INTERVAL 1 DAY) as date,
    _number
FROM 
    info;

Если вызовем команду SELECT * FROM info, то получим вывод:

id, date, _number

'1', '1000-05-03 00:00:00', '1'
'2', '2001-01-02 00:00:00', '3'
'3', '1000-05-04 00:00:00', '1'
'4', '2001-01-03 00:00:00', '3'

→ Ссылка