0

我想将数据从 crate 数据库导出到 memsql。crate 数据库基于 UTC 以毫秒为单位存储其时间戳。

然而,当将其导入 memsql 数据库时,我的值会被清零。

我应该如何在 memsql 中导入我的时间戳?

4

2 回答 2

0

您可以按以下格式将它们作为字符串插入:

YYYY-MM-DD HH:mm:ss

因此, a timestampInMsof1489582041572应该变成:2017-03-15 12:47:21


在 typescript 中,我在 moment.js 的帮助下通过以下方式创建了一个转换脚本:

const convertTimestamp = (timestampInMs: number): string => {
    return moment.utc(timestampInMs).format("YYYY-MM-DD HH:mm:ss");
};
于 2017-08-02T18:31:07.357 回答
0

假设“基于 UTC 的毫秒数”是指自纪元以来的毫秒数,您可以将它们加载到整数列中,然后使用 FROM_UNIXTIME 将其转换为时间戳类型(http://docs.memsql.com/docs/ from_unixtime - 以秒为单位,因此除以 1000)。

您可以加载到临时表中,然后使用 FROM_UNIXTIME 对其进行插入选择,或者在加载整数值时使用计算列来分配时间戳值:create table t (mytime_unixtime bigint, mytime as from_unixtime(mytime_unixtime) persisted datetime)

于 2017-08-02T18:53:27.443 回答