Как привести строки даты в формат DateTime с расширенным разбором в ClickHouse? - PullRequest
2 голосов
/ 13 января 2020

У меня есть строковое поле с отметкой времени, например: «2020-01-13T07: 34: 25.804445Z». И я хочу разобрать его в datetime (для использования в фильтрах 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').

Я нашел переменную date_time_input_format в документации , которая "позволяет расширенный анализ". Но он говорит, что этот параметр не применяется к функциям даты и времени. Так как же я приведу строковую дату с часовым поясом к DateTime?

1 Ответ

5 голосов
/ 13 января 2020
SELECT parseDateTimeBestEffortOrNull('2020-01-13T07:34:25.804445Z')

┌─parseDateTimeBestEffortOrNull('2020-01-13T07:34:25.804445Z')─┐
│                                          2020-01-13 07:34:25 │
└──────────────────────────────────────────────────────────────┘

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

...