SQL SERVER四舍五入你除了用ROUND还有其他方法吗?
引言
今天和测试沟通一个百分比计算方式时遇到一个问题, 我在存储过程里用到了强转CAST(32.678 AS DECIMAL(5,1)) 我认为该方式只会保留一位小数,我给测试的回复是我并没有用到四舍五入函数,数据也没有四舍五入,而测试说他们自己验证后觉的数据是经过四舍五入了的。 想到这里于是我再试了试存储过程的每个计算点,才发现了这个问题。
ROUND
那么用到四舍五入并且保留小数点时我们肯定会首选ROUND函数, 如果字段的数据类型是decimal(18,10)时那么四舍五入后还会有很多0出现。
CAST和CONVERT
其实我使用强转时并没有打算四舍五入结果,只是单纯为了得到符合我要求的数据,今天才发现这两个强转也会四舍五入结果,也就是说下面三个语句将会返回相同的结果值
select ROUND(32.678,1) --32.700 select CAST(32.678 as DECIMAL(5,1)) --32.7 select convert(NUMERIC(5,1),32.678) --32.7
SQL SERVER四舍五入你除了用ROUND还有其他方法吗?的更多相关文章
- SQL点滴7—使用SQL Server的attach功能出现错误及解决方法
原文:SQL点滴7-使用SQL Server的attach功能出现错误及解决方法 今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是: Unable to ...
- SQL Server不能通过外部IP访问,解决方法
SQL Server不能通过外部IP访问,解决方法 版本:SQL server 2008 express with tools 打开配置管理器,开启 TCP,右键属性设置TCP端口: 设置 ...
- SQL Server 2008删除或压缩数据库日志的方法
SQL Server 2008删除或压缩数据库日志的方法 2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的 ...
- 排错-安装SQl 2008“为SQL Server代理服务提供的凭据无效的解决方法
安装SQl 2008“为SQL Server代理服务提供的凭据无效的解决方法 by:授客 QQ:1033553122 在Windows Server 2008安装SQL Server 2008出现的问 ...
- SQL Server、Oracle和MySQL判断NULL的方法
SQL Server.Oracle和MySQL判断NULL的方法 本文讲述SQL Server.Oracle.MySQL查出值为NULL的替换. 在SQL Server Oracle MySQL当数据 ...
- 【SQL Server性能优化】删除大量数据的方法比较
原文:[SQL Server性能优化]删除大量数据的方法比较 如果你要删除表中的大量数据,这个大量一般是指删除大于10%的记录,那么如何删除,效率才会比较高呢? 而如何删除才会对系统的影响相对较小呢? ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- SQL Server 2000:快速清除日志文件的方法
通过文章 SQL Server中“数据收缩”详解 和 SQLServer删除log文件和清空日志的方法 可以整理出一种快速删除数据库日志的方法,即 第一步:清空日志文件里的数据: 第二步:收缩日志文件 ...
- SQL Server中 ldf 文件过大的解决方法
在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为"自动收缩"外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下: - 第一步:清空日志 ...
随机推荐
- 【转】博弈—SG函数
转自:http://chensmiles.blog.163.com/blog/static/12146399120104644141326/ http://blog.csdn.net/xiaofeng ...
- @Transient注解----Hiberbate
@Transient表示该属性并非一个到数据库表的字段的映射,将会忽略该属性.如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic Exa ...
- TP字母函数
http://wenku.baidu.com/view/2a0ec9c13c1ec5da50e27099.html?from=search
- AJAX回调函数,返回JSON格式,应该返回自定义状态STATUS,但是却返回200
返回200应该是方法已经执行通的意思,但是没返回自定义的status,仔细一看json格式拼错了...
- innerHTML on ie6-9
https://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx The innerHTML property is read-only on ...
- Myeclipse中web project各种常见错误及解决方法(持续更新)
创建web project时的问题 error:Install Dynamic web Module Facet卡住 solution:把网络关掉再创建就可以 Servlet error:The se ...
- ReactJS入门(四)—— 组件API
本篇将介绍 React 组件的API,其中主要的几个API我们在第一篇的时候便已介绍过,这里可以做个温故知新. 本篇的代码你也可以在我的Github上获取到. setState 参数: nextSta ...
- HTML和CSS经典布局2
如下图: 需求: 1. 如图 2. 可以从body标签开始. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht ...
- 搭建 SVN 服务器
安装.启动 SVN 服务器 在 Windows 下,可以使用以下命令将 SVN 服务注册到 windows 服务中去: sc create svnserver binPath= "drive ...
- [Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起
[Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起 在上一篇里我给出了重制的坦克舰队效果图和试玩程序.本篇介绍一下玩家坦克和敌方坦克碰撞问题. +BIT祝威+悄悄在此留下版了个 ...