2

在一张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

你能帮我么?

4

1 回答 1

2

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 日到 2020 年 2 月 26 日的所有微秒00:00:00.000000范围23:59:59.999999

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

于 2021-02-26T10:36:26.553 回答