表达式
SELECT (6000.03 + '00') AS res;
给出结果6000.03
,但表达式
SELECT (6000.00 + '00') AS res;
给出结果6000
。为什么在第二个表达式中丢弃小数部分?
答案 0 :(得分:0)
如果不更改数据类型,则无法在数字中添加字符串。 MySQL会自动将'00'转换为数字,因为您的选择中没有明确的日期定义。
它会丢弃第二个例子中的小数部分,因为6000.00 = 6000 =一个整数值。
如果在定义为十进制的表列中执行此操作,则不会丢弃小数部分,因为MySQL不会覆盖列定义。