MySQL DECIMAL数据类型是否强制整数使用小数点?

MySQL DECIMAL数据类型是否强制整数使用小数点?,mysql,Mysql,这是一个不寻常的问题,但我在MySQL表中设置了一个数据类型为“DECIMAL(5,2)”的字段。据我所知,我所做的是只允许在该字段中插入-999.99到999.99之间的数字 然而,当我将一个整数插入到值26(这是有效的)时,我在数据库中显示为26而不是26.00——这是MySQL的正常行为吗?我(也许是天真地)认为,因为我已将刻度设置为2,所以我的数字将始终显示为小数点后2位 我的问题是-MySQL“DECIMAL”数据类型中的整数是否总是显示为没有任何小数位数?或者这是我的数据库管理器工具

这是一个不寻常的问题,但我在MySQL表中设置了一个数据类型为“DECIMAL(5,2)”的字段。据我所知,我所做的是只允许在该字段中插入-999.99到999.99之间的数字

然而,当我将一个整数插入到值26(这是有效的)时,我在数据库中显示为26而不是26.00——这是MySQL的正常行为吗?我(也许是天真地)认为,因为我已将刻度设置为2,所以我的数字将始终显示为小数点后2位

我的问题是-MySQL“DECIMAL”数据类型中的整数是否总是显示为没有任何小数位数?或者这是我的数据库管理器工具,为我格式化26.00到26


这似乎是一个有点奇怪的问题,但我仍在努力让我的头脑围绕MySQL小数。谢谢。

我已经找到了答案,看来我的MySQL数据库管理器对我隐藏小数很有帮助(或者不是很有帮助)。对于任何觉得这有点用处的人,我正在Windows7上使用EMS SQL Manager 2010。感谢Cylindric提醒我检查工具

回答我原来的问题-是的,即使是“DECIMAL”数据类型中的整数也会显示小数位数。例如:

DECIMAL(3,1)

42 = 42.0
531.2 = 99.9
5 = 5.0

希望这对其他人有所帮助

一点也不奇怪。MySQL明确地将您的整数以定点格式存储为26.00;您用来查看数据的数据库管理器工具是什么?感谢您的回复,这是Windows 7上的EMS SQL manager 2010()如果您使用标准的MySQL工具,您会看到什么?如果有疑问,使用“参考”工具集总是很方便的。对不起,我的电脑上没有安装这个工具(它是一台工作电脑),但我刚刚意识到我有PHPMyAdmin。我会很快检查。您在SQL Manager中为浮点类型配置了什么?(我承认,
DECIMAL
实际上不是浮点,但由于没有定点选项,SQL Manager可能会在呈现显示之前在内部将此类类型转换为浮点)。531.2十进制(3,1)?这将超出范围,留给您99.9谢谢,它已被修改。