Как создать новый столбец с добавлением 2:30 часов к текущей отметке времени в mysql или с использованием сценария оболочки Linux? - PullRequest
0 голосов
/ 12 октября 2018

У меня есть таблица в базе данных MySQL, которая регистрирует события для конкретного пользователя с отметкой времени в UTC.Я хочу создать новый столбец с добавлением 2:30hrs ко времени для всех записанных событий.Таблица имеет несколько столбцов.

Пример: -

         date                Event              User
 2018-07-19 04:40:27         regis              hunt
 2018-07-19 04:40:27        Extra_one           poliu
 2018-07-19 04:40:27       temperature          Yinri

Ожидаемый результат - добавить новый столбец с добавлением 2:30:10 hrs:mins:sec к указанной выше отметке времени в столбце date.

         date                Event           User        newtime
 2018-07-19 04:40:27         regis           hunt      2018-07-19 07:10:37
 2018-07-19 05:41:47       Extra_one         poliu     2018-07-19 08:11:57
 2018-07-19 14:10:37      temperature        Yinri     2018-07-19 16:40:47

Я буду скачивать его локально и тоже работать, поэтому решение с linux-scripts / sed / awk тоже подойдет.Я пытался использовать addtime(), но я не могу внести изменения для всех записей в MySQL.

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете использовать функцию DATE_ADD().

UPDATE your_table_name 
SET newtime = DATE_ADD(`date`, INTERVAL '2:30:10' HOUR_SECOND);

ИЛИ

MySQL также позволяет оператору + добавлять интервал даты и временивместо использования Date_Add() функции.Вы также можете использовать следующее:

UPDATE your_table_name 
SET newtime = `date` + INTERVAL '2:30:10' HOUR_SECOND;
...