如何在mysql或linux shell脚本中创建一个新列,在当前时间戳的基础上增加2:30小时?

f5emj3cl  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(401)

我在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脚本/sed/awk的解决方案也很好。我试过用 addtime() 但我无法对mysql中的所有条目进行更改。

vuktfyat

vuktfyat1#

你可以用 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;

相关问题