Time 运算符不存在时间间隔(秒)

Time 运算符不存在时间间隔(秒),time,error-handling,compiler-errors,vertica,Time,Error Handling,Compiler Errors,Vertica,我想在Vertica中执行非常简单的选择,但有一个无法理解的错误。这是我的代码: SELECT 1 FROM tbl_one,tbl_two two WHERE id = two.id AND TYPE = 'some_type' AND amount > 0 LIMIT 1 AND CURRENT_TIMESTAMP - (SELECT MIN(two.some_data) FROM tbl_one,tbl_two two WHERE id = two.id) < INTERVAL

我想在Vertica中执行非常简单的选择,但有一个无法理解的错误。这是我的代码:

SELECT 1
FROM tbl_one,tbl_two two
WHERE id = two.id
AND TYPE = 'some_type'
AND amount > 0 LIMIT 1
AND CURRENT_TIMESTAMP -
(SELECT MIN(two.some_data)
FROM tbl_one,tbl_two two
WHERE id = two.id) < INTERVAL '5 days';
和错误:

ERROR 4286: Operator does not exist: timestamptz < interval(in seconds)
HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts

请告诉我我做错了什么?

我解决了一个类似的问题

使用此选项,条件的最后一行变为:

AND CURRENT_TIMESTAMP < TIMESTAMPADD(DAY, 5, (
  SELECT MIN(two.some_data)
  FROM tbl_one,tbl_two two
  WHERE id = two.id
))

试着在最后一句和第二句之间加上括号。与CURRENT_TIMESTAMP类似-从tbl_one、tbl_two two中选择MINtwo.some_data,其中id=2.idnot work-相同的错误在子查询中移动CURRENT_TIMESTAMP。另外,一些数据的类型是什么?我要明确一点,你是说GoBrewers14的建议不起作用吗?使用id从tbl_one中选择1,其中类型='some_TYPE'和金额>0,当前时间戳-从tbl_one中选择MINtwo.some_数据,其中id=2.id<间隔“5天”限制1;是的,因为一些_数据的类型是varchar,这要感谢Kermit的评论。现在我不知道如何将varchar更改为timestamp。。。