0

我有一个使用 python 加载的数据库,with time.time()结果以秒为单位的时间看起来像 1370449004.766663 等等。

它们位于名为 time 的列中,该列的类型为 varchar。

如何转换此列以便能够使用此处from_unixtime()讨论的命令。

当我现在这样做时:

SELECT UNIX_TIMESTAMP(time) from table;

输出为 0。其中 time 是一个 varchar 列,其中包含time.time我的 python 命令的输出。

但是,我的主要目标是将此列转换为浮点列,这样我就可以对其进行数学运算,而不必每次都对其进行转换。

有什么建议么?

4

1 回答 1

1

unix_timestamp()将日期作为输入。varchar在like上调用它是没有意义的1370449004.766663

要将varchar列转换为float列,您可以:

alter table YourTable add FloatColumn float;
update YourTable set FloatColumn= convert(time, float);

将日期存储为列是一个更好的主意datetime

alter table YourTable add DateTimeColumn datetime;
update YourTable set DateTimeColumn = from_unixtime(convert(time, float));
于 2013-07-01T13:23:06.100 回答