问题描述
我有一个表,其中有一个列“ 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