Clickhouse中ROUND函数转换后如何保留末尾零(显示浮点数)
Clickhouse中保留ROUND结果为浮点数的方法
在Clickhouse里,ROUND函数会根据计算结果自动推断返回类型,当结果为整数时会返回整数类型,导致SELECT ROUND(12.99, 1)得到13而非13.0。可以通过以下两种方式实现需求:
显式转换为浮点数类型:使用
toFloat32()或toFloat64()函数包裹ROUND的结果,强制输出浮点数格式。
示例语句:SELECT toFloat64(ROUND(12.99, 1))执行后会返回
13.0。使用roundToDecimal函数:该函数可以指定保留的小数位数,返回Decimal类型,显示时会保留指定的小数位。如果需要浮点数,可再转换类型。
示例语句:SELECT roundToDecimal(12.99, 1)执行结果为
13.0,若要转为浮点数可使用toFloat64(roundToDecimal(12.99, 1))。
内容的提问来源于stack exchange,提问作者chinanu
相关产品推荐
相关产品推荐

