Teradata中的四舍五入问题
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中的四舍五入问题相关推荐
- python 4舍5入_python中的四舍五入
前言 最近工作过程中遇到了需要计算金钱的问题,由于有零有整,多次计算之后进行保留两位小数的时候,会发生计算不太准确的问题. 比如: 572.725需要保留两位小数,按照我们生活中来说,应该是572.7 ...
- php中浮点数四舍五入,php浮点数四舍五入函数
本文章介绍了在php中浮点数四舍五入的两个常用的函数round与此同时ceil函数,可能小数保留位数. round() 函数对浮点数进行四舍五入 语法:float round ( float val ...
- teradata中no more spool space
teradata中no more spool space 刚上线的TD跑批作业,有些会报"no more spool space"这样的错误,开发人员第一反应,分配的数据库空间不足 ...
- C语言中关于四舍五入的计算方法
C语言中关于四舍五入的处理 利用取整运算截断 eg: 数字0.45 取整后结果为0: 数字3.67取整后结果为3: 做整数部分的四舍五入 即:x=(int)(0.45+0.7) 取整后结果为1: #i ...
- Unity中实现四舍五入
一:前言 C#中没有四舍五入,它采用的是四舍六入五成双,C#中的Math.Round和Unity中的Mathf.Round都是如此,想要实现四舍五入只能自己实现 四舍六入五成双:四舍五入时,如果小数位 ...
- 润乾报表通过JS自带函数来实现自动计算中的四舍五入
一.问题描述 由于润乾设计器的单元格的"显示格式"这个属性对数据进行相应位数的舍入是根据java中的java.text.DecimalFormat这个类来实现相关的需求.所以无法实 ...
- 关于c语言中如何四舍五入(圆整)的问题!
关于c语言中如何四舍五入(圆整)的问题! 在c语言中,用70.0/6得到的值赋给一个浮点变量,只会得到11.666667(因为浮点型只留下小数点后六位),而如果我们想输出结果的约数,必须要对结果进行四 ...
- C语言中实现四舍五入
C语言中实现四舍五入: (int)(a+0.5)即可. 很巧妙的用了取整规则. 也不用导入math.h 同样注意负数的情况. 把 + 换成 - 即可. float f = --; int i = (i ...
- php中浮点数四舍五入,php 浮点数四舍五入函数
php中浮点数四舍五入的两个常用的函数round与此同时ceil函数,可能小数保留位数. round() 函数对浮点数进行四舍五入 语法 float round ( float val [, int ...
最新文章
- MySQL计算指标连续两月金额相比_20160929
- CMAKE支持c++11的两种方式
- [android] 网络html查看器
- 算法导论——贪心算法:哈夫曼编码(霍夫曼编码)
- linux 交叉编译 静态库,从Linux为Windows开发交叉编译静态库
- Linux shell脚本基础学习详细介绍(完整版)2
- java system.out.read_求教Java高手,关于输入流的read的问题,为什么while循环体里面的两个System.out.println没有打印出来?...
- 蓝图中实现人物移动1
- mysql adduser_SQL创建登陆用户和赋予权限
- 双标准线等角圆锥投影转换_青学堂--花花的地理课堂之地图投影知多少
- win10系统 计算机配置要求高吗,win10流畅配置要求有哪些
- IR2101自举升压的原理
- PS 如何导出ico图标
- Canvas线条动画
- 用Python实现的数据化运营分析实例——销售预测
- 《如何阅读一本书》的梗概
- 天嵌IMX6核心板竞品分析(启杨IMX6)
- linux必须root权限才能mount,root执行/media可执行文件权限不够,chmod修改权限无效...
- Linux之systemctl命令基本使用
- 算法小讲堂之哈希表|散列表|考研笔记
热门文章
- cli php 增强包_Linux 上安装 PHP 扩展
- python 多线程下载_Python 多线程下载器
- iframe重新加载与修改提交不关闭窗口属性页面
- c 标签 foreach里面套choose做判断
- python创造订单失败_使用Python API创建新订单,get AttributeError:“str”对象没有属性“iteritems”...
- python 脚本所在目录,Python 获取当前所在目录的方法详解
- python子类_python创建子类的方法分析
- python搭建django环境_在BAE上搭建python,django环境小记
- nfs服务器_亿格瑞4K蓝光播放机怎么访问电脑上搭建的NFS服务器教程
- 概率语言模型及其变形系列-PLSA及EM算法