问题描述
我有一个简单的表,其中包含 节点、消息、开始时间、结束时间 的详细信息,其中开始时间和结束时间在 unix 时间戳中。我正在运行的查询是:
select node,message,(select from_unixtime(starttime)),(select from_unixtime(endtime)) from table1 WHERE try(select from_unixtime(starttime)) > to_iso8601(current_timestamp - interval '24' hour) limit 100
我正在尝试从表中获取以下信息:
解决方法
您不需要“额外的”选择,也不需要在 where clasue 中使用 to_iso8601
:
WITH dataset AS (
SELECT * FROM (VALUES
(1627409073,1627409074),(1627225824,1627225826)
) AS t (starttime,endtime))
SELECT from_unixtime(starttime),from_unixtime(endtime)
FROM
dataset
WHERE from_unixtime(starttime) > (current_timestamp - interval '24' hour) limit 100
输出:
_col0 | _col1 |
---|---|
2021-07-27 18:04:33.000 | 2021-07-27 18:04:34.000 |