我想将数据从crate数据库导出到memsql。crate 数据库根据 UTC 以毫秒为单位存储其时间戳。
然而,当将其导入 memsql 数据库时,我的值被清零。
我应该如何在 memsql 中导入我的计时器?
您可以将它们作为字符串插入,格式如下:
YYYY-MM-DD HH:mm:ss
因此,1489582041572
的timestampInMs
应该变成:2017-03-15 12:47:21
在打字稿中,我在moment的帮助下为它创建了一个转换脚本.js通过以下方式
:const convertTimestamp = (timestampInMs: number): string => {
return moment.utc(timestampInMs).format("YYYY-MM-DD HH:mm:ss");
};
假设"基于 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)