2019独角兽企业重金招聘Python工程师标准>>>

在Teradata做数据舍入时,发现一些问题,如下例:
select cast('1234.505' as decimal(18,2))
--1234.50

select cast('1234.515' as decimal(18,2))
--1234.52

到底时怎么造成大的呢?

[@more@]查资料得知:Teradata中四舍五入的规则由DBSCONTROL下的参数 RoundHalfwayMagUp 决定,默认情况下RoundHalfwayMagUp = FALSE,意为按照Teradata的规则进行进位。当RoundHalfwayMagUp设为TRUE时,和正常的进位没有区别。Teradata的进位规则考虑的是:5是个中间值,进位或不进位都欠妥。因此他采取一种折中处理方法:
1、当5后面有1位不为0时,则进位;
2、当5后面位都为0或者没有其他位时根据5前面一位的奇偶,奇进偶不进,下面是一些例子:
select cast('1234.505' as decimal(18,2))
--1234.50

select cast('1234.515' as decimal(18,2))
--1234.52

select cast('1234.5051' as decimal(18,2))
--1234.51

select cast('1234.5052' as decimal(18,2))
--1234.51

select cast('1234.505001' as decimal(18,2))
--1234.51

select cast('1234.50500' as decimal(18,2))
--1234.50

select cast('1234.51500' as decimal(18,2))
--1234.52

select cast('1234.52500' as decimal(18,2))
--1234.52

设置RoundHalfwayMagUp = true,(设置成功需要重启数据库才能生效)则按标准的四舍五入进行取舍。

转载于:https://my.oschina.net/u/2381604/blog/741607

Teradata中的四舍五入问题相关推荐

  1. python 4舍5入_python中的四舍五入

    前言 最近工作过程中遇到了需要计算金钱的问题,由于有零有整,多次计算之后进行保留两位小数的时候,会发生计算不太准确的问题. 比如: 572.725需要保留两位小数,按照我们生活中来说,应该是572.7 ...

  2. php中浮点数四舍五入,php浮点数四舍五入函数

    本文章介绍了在php中浮点数四舍五入的两个常用的函数round与此同时ceil函数,可能小数保留位数. round() 函数对浮点数进行四舍五入 语法:float round ( float val ...

  3. teradata中no more spool space

    teradata中no more spool space 刚上线的TD跑批作业,有些会报"no more spool space"这样的错误,开发人员第一反应,分配的数据库空间不足 ...

  4. C语言中关于四舍五入的计算方法

    C语言中关于四舍五入的处理 利用取整运算截断 eg: 数字0.45 取整后结果为0: 数字3.67取整后结果为3: 做整数部分的四舍五入 即:x=(int)(0.45+0.7) 取整后结果为1: #i ...

  5. Unity中实现四舍五入

    一:前言 C#中没有四舍五入,它采用的是四舍六入五成双,C#中的Math.Round和Unity中的Mathf.Round都是如此,想要实现四舍五入只能自己实现 四舍六入五成双:四舍五入时,如果小数位 ...

  6. 润乾报表通过JS自带函数来实现自动计算中的四舍五入

    一.问题描述 由于润乾设计器的单元格的"显示格式"这个属性对数据进行相应位数的舍入是根据java中的java.text.DecimalFormat这个类来实现相关的需求.所以无法实 ...

  7. 关于c语言中如何四舍五入(圆整)的问题!

    关于c语言中如何四舍五入(圆整)的问题! 在c语言中,用70.0/6得到的值赋给一个浮点变量,只会得到11.666667(因为浮点型只留下小数点后六位),而如果我们想输出结果的约数,必须要对结果进行四 ...

  8. C语言中实现四舍五入

    C语言中实现四舍五入: (int)(a+0.5)即可. 很巧妙的用了取整规则. 也不用导入math.h 同样注意负数的情况. 把 + 换成 - 即可. float f = --; int i = (i ...

  9. php中浮点数四舍五入,php 浮点数四舍五入函数

    php中浮点数四舍五入的两个常用的函数round与此同时ceil函数,可能小数保留位数. round() 函数对浮点数进行四舍五入 语法 float round ( float val [, int ...

最新文章

  1. MySQL计算指标连续两月金额相比_20160929
  2. CMAKE支持c++11的两种方式
  3. [android] 网络html查看器
  4. 算法导论——贪心算法:哈夫曼编码(霍夫曼编码)
  5. linux 交叉编译 静态库,从Linux为Windows开发交叉编译静态库
  6. Linux shell脚本基础学习详细介绍(完整版)2
  7. java system.out.read_求教Java高手,关于输入流的read的问题,为什么while循环体里面的两个System.out.println没有打印出来?...
  8. 蓝图中实现人物移动1
  9. mysql adduser_SQL创建登陆用户和赋予权限
  10. 双标准线等角圆锥投影转换_青学堂--花花的地理课堂之地图投影知多少
  11. win10系统 计算机配置要求高吗,win10流畅配置要求有哪些
  12. IR2101自举升压的原理
  13. PS 如何导出ico图标
  14. Canvas线条动画
  15. 用Python实现的数据化运营分析实例——销售预测
  16. 《如何阅读一本书》的梗概
  17. 天嵌IMX6核心板竞品分析(启杨IMX6)
  18. linux必须root权限才能mount,root执行/media可执行文件权限不够,chmod修改权限无效...
  19. Linux之systemctl命令基本使用
  20. 算法小讲堂之哈希表|散列表|考研笔记

热门文章

  1. cli php 增强包_Linux 上安装 PHP 扩展
  2. python 多线程下载_Python 多线程下载器
  3. iframe重新加载与修改提交不关闭窗口属性页面
  4. c 标签 foreach里面套choose做判断
  5. python创造订单失败_使用Python API创建新订单,get AttributeError:“str”对象没有属性“iteritems”...
  6. python 脚本所在目录,Python 获取当前所在目录的方法详解
  7. python子类_python创建子类的方法分析
  8. python搭建django环境_在BAE上搭建python,django环境小记
  9. nfs服务器_亿格瑞4K蓝光播放机怎么访问电脑上搭建的NFS服务器教程
  10. 概率语言模型及其变形系列-PLSA及EM算法