QuestDB:带有 WHERE 的 select 子句不适用于时间戳字段

QuestDB: select clause with WHERE do not work with timestamp field

Questdb table 上,我做了一些有效的查询,但是当我尝试应用 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可能不是table指定的时间戳。即使它是 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 的所有微秒范围。

您可以在 relevant documentation 上找到更多详细信息。