大家好,欢迎来到IT知识分享网。
将numeric转换为数据类型numeric是出现算术溢出错误
相信很多朋友都遇到过这样的问题,今天我也痛苦了好长时间.从网上得到的答案无非就是把这个标题解释一下,以便傻到我这种程度的人都能看明白,可惜我没看到有谁说到了点子上,希望本文能对您有点启发.
其实说到最根本,就是大家对sql的一些最基本的概念还不清晰,大多数这种溢出都是由这个原因造成的.为了帮助和我”傻平”程度差不多的兄弟们,我就把今天遇到的问题拿出来,和大家一起分析一下.
我遇到溢出是给一个numeric(12,4)这个类型的列赋值(通过临时构造的dataset而非强类型的dataset,如果是强类型就不会这么痛苦了).为了方便描述,暂且把这个字段叫做price.numeric(12,4)这个定义有多少人能够准确的描述出其含义呢?正是对这个基本概念的模糊才遇到了今天的问题.其实我做的是一个excel的数据导入,为了验证其数据的正确性,我还特此写了正则,避免将脏数据存到数据库中.我的正则是这样的 ^((([0-9]?)|[1-9][0-9]{0,11})([.][0-9]{1,4})?)$ 设断点跟踪一切正常,只是在update的时候会报标题那个错误.
看生成的实体类,对照数据库的字段,挨条跟踪数据,虽然抑郁很久,但还是没找到原因.逼急了,哥们我拿数据直接填到数据表里,结果出错了,到这个时候才明白一件事:numeric(12,4)的意思:说的通俗点就是:小数点前最多有8位,小数点后有四位,不足四位补0,超过4位小数则四舍五入.
作者:wangchao1982
来源:CSDN
原文:https://blog.csdn.net/wangchao1982/article/details/1882571
版权声明:本文为博主原创文章,转载请附上博文链接!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14140.html