数据库报错:从数据类型 varchar 转换为 numeric 时出错。因为字段里的值有个‘0E-7‘,字段类型Decimal 值 0E-7
2023-09-11 14:14:50 时间
数据库报错:从数据类型 varchar 转换为 numeric 时出错。因为字段里的值有个'0E-7'
解决:字段类型Decimal 值 0E-7
解决办法就是把引号去掉
原:
insert into xxxx
values
('0E-7')
改:
insert into xxxx
values
(0E-7)
起初一直报错:从数据类型 varchar 转换为 numeric 时出错,检查语句没毛病,
注:sql语句是由华为云数据库生成的
最后测试发现是插入语句时的有个是'0E-7',闹不清这个值是啥意思,就看了看字段类型是
[Longitude] decimal(10,7) NULL ,
菜鸟一个,百度去
Decimal 值 0E-7
BigDecimal值‘0’,在IBM的JDK下,我调用setScale(8)方法得到新值为‘0.00000000’,
可是我在用sun的JDK下调用setScale(8)得到值为‘0E-8’
------分割线------
两个是相等的只是实现的toString有点区别,
jdk里的方法输出什么不能改变,sum里的setScale(int)就是返回unscaledValue × 10-scale
7以上就会用0E-7表示toString
你想要sun的jdk也实现0.00000000可以这样
BigDecimal big = new BigDecimal(0);
DecimalFormat df=new DecimalFormat("0.00000000");
String str=df.format(big);
System.out.println(str);
------分割线------
这个会导致jsp页面输出OE-8,而不是0.00000000
或者数据库精度不要超过6就ok,不用考虑那么多麻烦
相关文章
- Cocos2D添加精灵纹理滤镜实现图像复古效果的转换
- [数据库] SQL查询语句表行列转换及一行数据转换成两列
- java实现第三届蓝桥杯地址格式转换
- Java实现 蓝桥杯VIP 基础练习 时间转换
- 如何转换SQL Server 2008数据库到SQL Server 2005
- js: TransformStream 浏览器上的流转换
- Excel表格文本格式的数字和数字格式如何批量转换
- 文本字符串与 URL 编码的字符串间的转换
- XSLT模板转换XML文档
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Qt中的QString与int、const char 、ASCII码互相转换
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
- Linux服务器 scp 不需要密码配置与密钥转换(id_rsa->ppk)
- JavaScript基础(一)js环境搭建、变量常量、数据类型及转换、运算符