这个问题很有意思。
表结构
字段 类型 属性 Null 缺省值
xh decimal(20,0) 否 0
zid decimal(20,0) 否 0
czsj datetime 是 NULL
ip char(15) 是 NULL
执行下列语句
insert into tdljl (xh,zid,czsj,ip) values (20030725122135322311,1003,now(),'127.0.0.1')
结果为:
20030725122135323000 1003 2003-07-25 12:26:57 127.0.0.1
第一列xh 的值从20030725122135322311变成了20030725122135323000
但如果把SQL改成insert into tdljl (xh,zid,czsj,ip) values ('20030725122135322311',1003,now(),'127.0.0.1')
将xh作为一个字符串插入,数据库自动转换类型后结果就是正确的。
mysql对decimal的处理在超过一定长度后有特殊处理么?