QuestDB: WHERE不适合时间戳字段的select子句



Questdb表上,我做了一些正在工作的查询,但是当我试图应用where子句时,该字段具有时间戳类型:

SELECT Timestamp_GMT, ValueCal 
FROM mytable 
WHERE Timestamp_GMT='2020-12-11T11:23:27.583036Z'

我得到了一个错误信息:

unexpected argument for function: =. expected args: (STRING,STRING). actual args: (TIMESTAMP,STRING constant)

数据库中Timestamp_GMT的类型为timestamp并且有一些值的格式显示为2020-12-11T11:23:27.583708Z

在文档中,有where子句应用于时间戳的例子,但我看不出我的错误:https://questdb.io/docs/reference/sql/where

你能帮帮我吗?

您的Timestamp_GMT可能不是表的指定时间戳。尽管它的类型是Timestamp但它只能被过滤为

Timestamp_GMT=to_timestamp('2020-12-11T11:23:27.583036Z','yyyy-MM-ddTHH:mm:ss.SSSSSSZ')

指定时间戳是一个特殊的列兽。你可以对它进行过滤像

designated_ts='2020-02-26'

这实际上意味着不是一个单一的值,而是2020年2月26日从00:00:00.00000023:59:59.999999的所有微秒范围。

您可以在相关文档中找到更多详细信息。

最新更新