在 MonetDB 中将时间戳字符串转换为 UNIX 时间戳
Converting a timestamp string to UNIX timestamp in MonetDB
我想将“2018-02-14 23:59:59”之类的时间戳转换为 UNIX 时间戳。我发现使用 select sys.epoch(unix_timestamp);
可以实现相反的结果。
函数 str_to_date
、str_to_time
或 str_to_timestamp
没有帮助,即使我指定了格式字符串“%s”,如 here.
所示
换句话说,我正在寻找 MySQL 函数 UNIX_TIMESTAMP()
的 MonetDB 等价物。
找到解决方案:
select sys.epoch(str_to_timestamp('2018-02-15 10:04:00', '%Y-%m-%d %H:%M:%S'));
1518689040
显然,如果您需要以毫秒为单位的时间,只需像这样乘以 1000:
select sys.epoch(str_to_timestamp('2018-02-15 10:04:00', '%Y-%m-%d %H:%M:%S')) * 1000;
我是怎么找到它的,以防以后有人遇到类似的问题:
您可以使用以下方式查看所有系统功能:
select * from sys.functions;
可以在这里找到更漂亮的解决方案:
原来epoch函数可以将时间戳作为参数。
我想将“2018-02-14 23:59:59”之类的时间戳转换为 UNIX 时间戳。我发现使用 select sys.epoch(unix_timestamp);
可以实现相反的结果。
函数 str_to_date
、str_to_time
或 str_to_timestamp
没有帮助,即使我指定了格式字符串“%s”,如 here.
换句话说,我正在寻找 MySQL 函数 UNIX_TIMESTAMP()
的 MonetDB 等价物。
找到解决方案:
select sys.epoch(str_to_timestamp('2018-02-15 10:04:00', '%Y-%m-%d %H:%M:%S'));
1518689040
显然,如果您需要以毫秒为单位的时间,只需像这样乘以 1000:
select sys.epoch(str_to_timestamp('2018-02-15 10:04:00', '%Y-%m-%d %H:%M:%S')) * 1000;
我是怎么找到它的,以防以后有人遇到类似的问题:
您可以使用以下方式查看所有系统功能:
select * from sys.functions;
可以在这里找到更漂亮的解决方案:
原来epoch函数可以将时间戳作为参数。