Я пытаюсь использовать Grafana, чтобы показать какой-нибудь хороший график из моей базы данных MySQL.
Проблема в том, что столбец, который имеет значение, - varchar и Grafana, совсем не нравится. он хочет иметь целое число, но я не могу это изменить.
Итак, я прочитал, что мне нужно использовать CAST, но не уверен, как заставить его работать. Я пытаюсь, но всегда получаю ошибку
У меня есть этот код SQL
SELECT
UNIX_TIMESTAMP(last_updated) as time_sec,
state as value,
entity_id as metric
FROM states
WHERE $__timeFilter(last_updated) AND entity_id='sensor.cpu_temp'
ORDER BY time_sec ASC
Так что мне нужно преобразовать «состояние» в целое число, чтобы вставить значение
Так что я попытался
SELECT
UNIX_TIMESTAMP(last_updated) as time_sec,
CAST(state AS int) as value,
entity_id as metric
FROM states
WHERE $__timeFilter(last_updated) AND entity_id='sensor.cpu_temp'
ORDER BY time_sec ASC
Но получим ошибку
MySQL поддерживает неявное преобразование, что может быть весьма полезным. Возможно, это делает то, что вы хотите:
(state + 0) as value,
Преимущество (и недостаток) неявного преобразования заключается в том, что он не генерирует ошибки, когда state не является числовым. В этом случае он просто преобразует ведущие цифры (если они есть) в число.