这是一个创建于 1881 天前的主题,其中的信息可能已经有所发展或是发生改变。
今天在更新一个 double 字段的数据时发现无法插入预期的数值。数值比较大,预期要插入的是:124999999999999994927090557043795341436499511206056429958717376225837990368869303189504,也就是 1.24E86,但实际插入的是 1E65。
经过排查发现 mysql 报了一个警告:Warning: #1292 Truncated incorrect DECIMAL value : '999999999994927090557043795341436499511206056429958717376225837990368869303189504'
百度后发现好像没有跟我相同的情况,但大致意思是说值的类型不匹配被截断了。
解决方式:
之后尝试着给这个值加上单引号发现问题竟然解决了。
字段 a 是 double 当前值是 0
sql 语句: update table set a = a + '上面那个数值' where xxxx;
想请问在操作 double 类型字段的时候 加单引号和不加单引号有什么区别吗?
2 条回复 • 2019-03-18 20:28:09 +08:00
|
|
2
wowo243 2019-03-18 20:28:09 +08:00 via Android
隐式类型转换?
|