python mysql连接器向具有整数值的浮点数据类型单元格添加不必要的精度值

问题描述

我有一个表,其中有一个列“ column_float”,该列的数据类型为float,但为此列插入的值是整数值5

当我通过python MysqL连接器读取此值时,它给了我一个浮点值5.0

我的要求是,如果float列中存在整数值,则应仅将其读取为整数,而无需增加任何额外的精度。

这里有帮助吗?可以使用python MysqL连接器进行任何设置。

解决方法

浮点数始终为小数,但是您可以检查其是否有小数,然后仅在只有零的情况下才取整。

用您的列名替换@a

SET @a = 5.0;
SELECT IF( ROUND(@a,0) = @a,ROUND(@a,0),@a)

结果

# IF( ROUND(@a,@a)
5

并形成其他类似形式

SET @a = 5.1;
SELECT IF( ROUND(@a,@a)
5.1

对于python,有相同的功能

round(5.0)
# Returns: 5