#sql #cratedb
Вопрос:
Я использую базу данных ящиков временных рядов. Ниже приведена моя таблица
Name Type
parameterid TEXT
deviceid TEXT
gatewayid TEXT
timestamp DOUBLE PRECISION
reading DOUBLE PRECISION
я пытаюсь сгруппировать данные на основе метки времени. Я запускаю запрос на локальной машине(версия докера базы данных crate), он работает отлично.Но я перешел в kubernetes и получил следующую ошибку
Исключение SQLActionException [Исключение SQLParseException: Текст ‘1.6164576E9’ не удалось проанализировать с индексом 0]
Запрос является
select
date_trunc('day', v.timestamp) as unixtime,
sum(reading) as reading
from
telemetryvct v(parameterid, reading, timestamp)
where
parameterid = 1
AND timestamp >= 1616457600
AND timestamp <= 1619524054
group by
(unixtime)
ORDER BY
unixtime ASC
Комментарии:
1. Почему вы используете тип
DOUBLE
данных для значений временных меток? Это может привести к неправильному поведению из-за проблем с округлением плавающего типа. ТакжеDATE_TRUNC
работает только соTIMESTAMP
BIGINT
столбцами или типом, поэтому каждое двойное значение будет неявно приведено. Это не ответ на проблему исключений, а общий совет. Пожалуйста, предоставьте полный маршрут.2. ОК. спасибо вам за ответ .