测了一下,虽然插入的时候进行隐式转换,但是貌似没影响CREATE TABLE testA (a DECIMAL(10,2))INSERT INTO testA VALUES('123.4')SELECT * FROM testASELECT a+12.4 FROM testA /*(1 row(s) affected) a --------------------------------------- 123.40(1 row(s) affected) --------------------------------------- 135.80*/
(a DECIMAL(10,2))INSERT INTO testA
VALUES('123.4')SELECT * FROM testASELECT a+12.4
FROM testA
/*(1 row(s) affected)
a
---------------------------------------
123.40(1 row(s) affected)
---------------------------------------
135.80*/
应该是统计语句的问题,检查其中对该字段的处理过程.
sl这个字段用语句查询时,显示结果:意思是直接修改了sl的数据类型后,还存在VARCHAR类型?
哦 这个不表示,存在的varchar,因为你用where sl = '3.00'时,系统会自动把这个字符串'3.00'转化为3.00,所以也能把sl为3.00的记录给查询出来的。这个不是问题哈,是对的。