mysql - 将 select 和 dateadd 函数的结果集插入到同一个表中

标签 mysql sql database h2

我的 H2 数据库中有“测试”表,其中有一些时间戳。 我正在使用“DATEADD”函数将“_time”列转换为正常日期。

我希望将选择查询的结果插入到“_converted_time”中

sql> select * from test;
| _TIME         | _CONVERTED_TIME
| 1468309423961 | null
| 1468309423962 | null
| 1468308812001 | null
| 1468308815972 | null
(4 rows, 10 ms)
sql> 
sql> 
sql> select DATEADD('SECOND', SUBSTRING(_time,1,10), DATE '1970-01-01') from test;
DATEADD('SECOND', SUBSTRING(EVENT_TIME, 1, 10), DATE '1970-01-01')
2016-07-12 07:43:43.0
2016-07-12 07:43:43.0
2016-07-12 07:33:32.0
2016-07-12 07:33:35.0

因此将上述结果添加到 _converted_time 后,它应该看起来像::

sql> select * from test;
| _TIME         | _CONVERTED_TIME
| 1468309423961 | 2016-07-12 07:43:43.0
| 1468309423962 | 2016-07-12 07:43:43.0
| 1468308812001 | 2016-07-12 07:33:32.0
| 1468308815972 | 2016-07-12 07:33:35.0
(4 rows, 10 ms)

提前致谢...

最佳答案

试试这个

update test
set CONVERTED_TIME = DATEADD('SECOND', SUBSTRING(_time,1,10), DATE '1970-01-01') 
WHERE CONVERTED_TIME IS NULL;

关于mysql - 将 select 和 dateadd 函数的结果集插入到同一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455037/

相关文章:

mysql - 在 MySQL 中使用 Join 创建显示销售、返回和利润(销售 - 返回)的 View

database - 在 Golang 中缓存数据库结果( revel )

mysql - 如何在 mysql 上分隔 bool 列值

database - 使用VBA检查时间?

sql - 将 XML 存储到 Postgres

php - 在 PHPMaker 10 中显示基于列而不是基于行的记录

java - MySQL select 与 JDBC 的性能问题

php - 如何从带有 javascript onclick 的链接运行 sql 查询

sql - 在 sql 的 case 语句中使用 sum 和 count

sql - 即时选择和替换(干净)数据 - SQL