Impala 中新创建列的 WHERE 条件

WHERE condition on new created Column in Impala

在我的 Table 中,我有 UNIX 时间的时间信息,我在 impala 中使用以下函数将其转换为正确的时间格式:
cast(ts DIV 1000 as TIMESTAMP) as NewTime.

现在我想将新创建的列“NewTime”上的 WHERE 查询应用于 select 来自特定时间段的数据,但出现以下错误:

"Could not revolve column/field reference: NewTime".

如何在 impala 中对新创建的列应用 WHERE 查询。 谢谢

您可以使用内部子查询计算它,然后将其用于过滤。

select NewTime
from 
(select cast(ts DIV 1000 as TIMESTAMP) as NewTime,... from table) subq
where 
subq.NewTime >now()

你也可以像 Gordon 说的那样使用 CTE。