我正在尝试将脚本从 SQLite 转换为 DuckDB,但似乎无法绕过这些时间戳和日期时间格式......
例如,在 SQLite 中,此代码有效:
datetime((lastLogon / 10000000) - 11644473600, 'unixepoch') AS lastLogon
在 DuckDB 中,我无法找到适当的功能......
SELECT epoch_ms(133782998237203223);
导致错误
错误:转换错误:无法将时间戳(MS)转换为时间戳(US)
SQLState:空
错误代码:0
我尝试了不同的功能,例如
SELECT to_timestamp(133782998237203223)::TIMESTAMPTZ AT TIME ZONE 'UTC'
但仍然有错误
错误:转换错误:无法将纪元秒转换为带时区的时间戳
该
epoch_ms
函数需要整数毫秒并返回一个TIMESTAMP
,但我认为您的数据具有 100ns 的精度?该
to_timestamp
函数DOUBLE
以秒为单位接收一个并返回一个TIMESTAMP WITH TIME ZONE
:(显示在
America/Los_Angeles
)这两个值都是瞬间的,而不是简单的(本地)时间戳。