sql server 数值的四舍五入

sql中的四舍五入通常会有round  和cast( …… as decimal())两种方式:

个人建议使用cast  方式:

方式1:

经过试验,同样都可以做到四舍五入,但round如下实例1会报错,

实例1:select round(0.996123,2)   报错:将 expression 转换为数据类型 numeric 时出现算术溢出错误。

实例2:select round(0.99432,2)   结果为 0.99000



方式2:

cast四舍五入:

SELECT CAST(‘123.456‘ as decimal(38, 2)) ===>123.46

SELECT CAST(0.996123 AS DECIMAL(38,2))  结果为 1.00

SELECT  CAST(‘123.456‘ as dec(38, 2))   ===>123.46
时间: 2024-10-12 08:21:32

sql server 数值的四舍五入的相关文章

SQL Server存储过程的初步认知

什么是存储过程? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令.实际上存储过程就是能完成一定操作的一组SQL语句. 为什么要用存储过程? 1.  存储过程只在创造时候编译,以后每次执行存储过程都不需要再重新的编译,而一般的SQL语句每执行一次就需要编译一次,所以使用存储过程可提高数据库执行速度. 2.  当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事物处理结合在一起. 3.  存储过程可以重复的使用,降低开发人员的工作量,提高工作效率. 4.  安全

sql server将字符串类型转换为数值类型

在SQL Server中,将字符串的值转换为数值类型的值可以有三种方法. 1.使用cast()方法. select cast('6.0' as decimal(6, 2)); -- 6.00 2.使用convert()方法. select convert(decimal(6, 2), '100'); -- 100.00 3.使用与数值0相加的方法. select '233' + 0; -- 233 以上三种方法在转换类型的时候都要格外注意被转换类型的值,因为可能会出现各种强制转换失败的问题,比如

SQL Server 2008数据类型

在创建表时,必须为表中的每列指派一种数据类型.本节将介绍SQL Server中最常用的一些数据类型.即使创建自定义数据类型,它也必须基于一种标准的SQL Server数据类型.例如,可以使用如下语法创建一种自定义数据类型(Address),但要注意,它基于SQL Server标准的varchar数据类型. CREATE TYPE Address FROM varchar(35) NOT NULL 如果在SQL Server Management Studio的表设计界面中更改一个大型表中某列的数

四个很好用的Sql Server 日期函数:DateDiff、DatePart、DateAdd、DateName

我以前查一段时间范围内的数据都是在程序里计算好日期再掉查询语句,现在我用下面的函数.SQL SERVER没有查一季度数据的函数. DateDiff函数: 描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) DateDiff 函数的语法有以下参数: 参数 描述 interval 必选.字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔.有关数值,请参

数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是: Aggregate 函数 Scalar 函数 合计函数(Aggregate functions) Aggregate 函数的操作面向一系列的值,并返回一个单一的值. 注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使

sql server 基础教程[温故而知新三]

子曰:“温故而知新,可以为师矣.”孔子说:“温习旧知识从而得知新的理解与体会,凭借这一点就可以成为老师了.“ 尤其是咱们搞程序的人,不管是不是全栈工程师,都是集十八般武艺于一身.不过有时候有些知识如果有很久没用了的话,就会忘记,甚至是忘的你一点都想不起来,尤其是一些基础的东西.所以我才打算写个"温故而知新"的系列博文出来,一来是这些基础的东西我比较健忘,以后方便自己翻阅:二来是希望可以帮助到一些刚入门的朋友.这个系列记录的所有知识点都是最最最(重要的事情说三遍)基础的知识.大部分都是我

SQL Server之记录筛选(top、ties、offset)汇总

一.TOP 筛选 如果有 ORDER BY 子句,TOP 筛选将根据排序的结果返回指定的行数.如果没有 ORDER BY 子句,TOP 筛选将按照行的物理顺序返回指定的行数. 1. 返回指定数目的行 TOP 用于指示从查询结果集返回指定数目的行. 例如,返回前2行记录 SELECT TOP (2) ColumnA, ColumnB FROM Table1 2. 返回指定百分比的行 可以使用百分比,如果遇到百分比的计算结果不是整数,将向上舍入(即“进一法”,而不是“四舍五入”或“截尾取整”).例如

sql server 常用的函数小汇

摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL .3.LOWER()和UPPER()LOWER()将字符串全部转为小写:UPPER()将字符串全部转为大写.4.STR()把

Sql Server数据库基础

--------------------------------------第一章  Sql Server数据库基础----------------------------------------------- 1,sql server的历史:     第一代数据库:网状与层次模型     第二代数据库:关系模型 (sql server属于关系模型数据库)     第三代数据库:对象模型 2,实体:客观存在的可以被描述的事物叫实体 3,冗余:存在重复的数据     消除冗余的办法:分类存储 4,