如何在memsql中存储时间戳?
How to store timestamp in memsql?
我想将数据从 crate 数据库导出到 memsql。 crate 数据库基于 UTC 以毫秒为单位存储时间戳。
然而,当将其导入 memsql 数据库时,我的值被清零了。
我应该如何在 memsql 中导入我的时间戳?
您可以将它们作为字符串插入,格式如下:
YYYY-MM-DD HH:mm:ss
因此,1489582041572
的 timestampInMs
应该变成:2017-03-15 12:47:21
在 typescript 中,我在 moment.js 的帮助下为它创建了一个转换脚本 via:
const convertTimestamp = (timestampInMs: number): string => {
return moment.utc(timestampInMs).format("YYYY-MM-DD HH:mm:ss");
};
假设"milliseconds based on UTC"你的意思是自纪元以来的毫秒数,你可以将它们加载到整数列中,然后使用FROM_UNIXTIME将其转换为时间戳类型(http://docs.memsql.com/docs/from_unixtime - 需要几秒钟,所以除以 1000)。
您可以加载到暂存 table,然后使用 FROM_UNIXTIME 插入 -select,或者在加载整数值时使用计算列分配时间戳值: create table t (mytime_unixtime bigint, mytime as from_unixtime(mytime_unixtime) persisted datetime)
我想将数据从 crate 数据库导出到 memsql。 crate 数据库基于 UTC 以毫秒为单位存储时间戳。
然而,当将其导入 memsql 数据库时,我的值被清零了。
我应该如何在 memsql 中导入我的时间戳?
您可以将它们作为字符串插入,格式如下:
YYYY-MM-DD HH:mm:ss
因此,1489582041572
的 timestampInMs
应该变成:2017-03-15 12:47:21
在 typescript 中,我在 moment.js 的帮助下为它创建了一个转换脚本 via:
const convertTimestamp = (timestampInMs: number): string => {
return moment.utc(timestampInMs).format("YYYY-MM-DD HH:mm:ss");
};
假设"milliseconds based on UTC"你的意思是自纪元以来的毫秒数,你可以将它们加载到整数列中,然后使用FROM_UNIXTIME将其转换为时间戳类型(http://docs.memsql.com/docs/from_unixtime - 需要几秒钟,所以除以 1000)。
您可以加载到暂存 table,然后使用 FROM_UNIXTIME 插入 -select,或者在加载整数值时使用计算列分配时间戳值: create table t (mytime_unixtime bigint, mytime as from_unixtime(mytime_unixtime) persisted datetime)