在 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_datestr_to_timestr_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函数可以将时间戳作为参数。