2009-02-11
今天,在查看测试提交的一个bug问题的时候,发现了一个有关于数据之间相除,和sum函数的关于某类型数据的自动截取问题(也许是我的想当然,呵呵),在这里做一个记录,和大家一起讨论一下。希望哪位牛人可以给予指教!
现在自己创建一张数据表,用来测试这个问题:
第一步,创建一个表T,创建4个数据类型不同的列,并赋值。
查询结果如下图:
可以发现,此时同样的查询语句和相应的运算规则,在加上sum函数之后,得到的结果是不一样的。a是int,b是numeric,两者sum后相除得到的数据精确度为查询分析器的最大精确度;c和d都是numeric型,这两者sum后相除得到的数据精确度则为小数点后6位。
如果对结果加上round函数进行截取的话,得到以下结果:
可以发现,round函数对于结果截取6位的问题没有影响。
第二步,接着进行其它类型数据的实验