Influxdb,如何在数学运算后转换为整数

Influx db, How to cast to integer after mathematical operation

使用 influxdb,可以使用以下语法将浮点字段转换为整数:

SELECT "water_level"::integer FROM "h2o_feet" LIMIT 4

目前,我们的“water_level”已经是一个整数,但出于某种原因,我们需要将所有值除以 10。

SELECT water_level*0.1 as water_level INTO "h2o_feet" FROM "h2o_feet"

不幸的是,water_level*0.1 现在是一个浮点数(因此我们在更新期间遇到字段类型冲突:字段类型已经作为整数类型存在)

我们不想将字段转换为浮点型。我们需要将其保留为整数(我现在会失去一些精度)

我们尝试了以下语法:

round(water_level*0.1)
trunc(water_level*0.1)
(water_level*0.1)::integer

但是 none 这些作品。 “Round”和“Trunc”return 一个浮点数,最后一个语法不正确。

那么,在任何一种数学运算之后如何转换为整数?

您可以使用子查询来实现这一点。您可以试试下面的查询吗?

SELECT water_level::integer INTO "h2o_feet" from (SELECT water_level*0.1 as water_level FROM "h2o_feet");

希望这有效