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

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

我在mysql数据库中有一个表,它用utc的时间戳为特定用户注册事件。我想创建一个新列 2:30hrs 添加到记录的所有事件的时间中。该表有多列。
例如:

  1. date Event User
  2. 2018-07-19 04:40:27 regis hunt
  3. 2018-07-19 04:40:27 Extra_one poliu
  4. 2018-07-19 04:40:27 temperature Yinri

预期结果是添加一个新列 2:30:10 hrs:mins:sec 添加到 date 列。

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

我将在本地下载它,也可以工作,所以使用linux脚本/sed/awk的解决方案也很好。我试过用 addtime() 但我无法对mysql中的所有条目进行更改。

vuktfyat

vuktfyat1#

你可以用 DATE_ADD() 功能。

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


mysql还允许 + 添加日期时间间隔,而不是使用 Date_Add() 功能。您还可以使用以下选项:

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

相关问题