我想将数据从 crate 数据库导出到 memsql。crate 数据库基于 UTC 以毫秒为单位存储其时间戳。
然而,当将其导入 memsql 数据库时,我的值会被清零。
我应该如何在 memsql 中导入我的时间戳?
我想将数据从 crate 数据库导出到 memsql。crate 数据库基于 UTC 以毫秒为单位存储其时间戳。
然而,当将其导入 memsql 数据库时,我的值会被清零。
我应该如何在 memsql 中导入我的时间戳?
您可以按以下格式将它们作为字符串插入:
YYYY-MM-DD HH:mm:ss
因此, a timestampInMs
of1489582041572
应该变成: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");
};
假设“基于 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)