如何在 ClickHouse 中使用扩展解析将日期字符串转换为 DateTime 格式?

Den*_*vac 8 casting clickhouse

我有一个带有时间戳的字符串字段,如下所示:“2020-01-13T07:34:25.804445Z”。我想将其解析为日期时间(例如,在 Grafana 过滤器中使用)。但我收到此错误:

SELECT SELECT "@timestamp" AS timestamp, CAST(timestamp AS DateTime) as datetime from table

Cannot parse string '2020-01-13T06:55:05.704Z' as DateTime: syntax error at position 19 (parsed just '2020-01-13T06:55:05').
Run Code Online (Sandbox Code Playgroud)

“允许扩展解析”的文档中找到了变量date_time_input_format。但它表示此设置不适用于日期和时间函数。那么如何将带时区的字符串日期转换为 DateTime?

Den*_*ane 9

SELECT parseDateTimeBestEffortOrNull('2020-01-13T07:34:25.804445Z')

??parseDateTimeBestEffortOrNull('2020-01-13T07:34:25.804445Z')??
?                                          2020-01-13 07:34:25 ?
????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

https://clickhouse.yandex/docs/en/query_language/functions/type_conversion_functions/#type_conversion_functions-parsedatetimebesteffort