方法1:

SELECT CAST('123.456' as decimal) 将会得到 123(小数点后面的将会被省略掉)。

如果希望得到小数点后面的两位。

则需要把上面的改为

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

说明1:

这里的decimal英文为: 小数, 十进制

decimal(38,2)

这里的38是这个小数的位数有多少位, 一般最大不超过38位, 所以写38是不会出错的!

如果:

SELECT CAST('123.456' as decimal(2, 2))

就会出错, 为什么呢, 因为这个123.456小数点后是3位值, 所以这个38这个位置最少是3!

说明2:

decimal后面的参数中的2是小数点后取几位, 是2就取两位, 是3就取三位! 并且是四舍五入后的结果!

说明3:

cast应该就是转换数值的意思了

自动四舍五入了!

方法2:

SELECT ROUND(123.75633, 2, 1), ROUND(123.75633, 2)

上面的SQL得到的2个值是不一样的,前一个是:123.75000,后一个是:123.76000。

因为前者在进行四舍五入之前,小数点后已经被截取,保留了2位。

而后者则没有被截取,四舍五入时自然就会得到123.76000

ROUND

返回数字表达式并四舍五入为指定的长度或精度。

语法

ROUND ( numeric_e-xpression , length [ , function ] )

参数

numeric_e-xpression

精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。

length

是 numeric_e-xpression 将要四舍五入的精度。length 必须是 tinyint、smallint 或int。当 length 为正数时,numeric_e-xpression 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_e-xpression 则按 length 所指定的在小数点的左边四舍五入。

function

是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_e-xpression 将四舍五入。当指定 0 以外的值时,将截断 numeric_e-xpression。

返回类型

返回与 numeric_e-xpression 相同的类型。

注释

ROUND 始终返回一个值。如果 length 是负数且大于小数点前的数字个数,ROUND 将返回 0。

示例 结果

ROUND(748.58, -4) 0

当 length 是负数时,无论什么数据类型,ROUND 都将返回一个四舍五入的 numeric_e-xpression。

示例 结果

ROUND(748.58, -1) 750.00

ROUND(748.58, -2) 700.00

ROUND(748.58, -3) 1000.00

示例

A. 使用 ROUND 和估计值

下例显示两个表达式,说明使用 ROUND 函数且最后一个数字始终是估计值。

Select ROUND(123.9994, 3), ROUND(123.9995, 3)

GO

下面是结果集:

123.9990 124.0000

B. 使用 ROUND 和四舍五入的近似值

下例显示四舍五入和近似值。

语句 结果

Select ROUND(123.4545, 2)

123.4500

Select ROUND(123.45, -2)

100.00

C. 使用 ROUND 截断

下例使用两个 Select 语句说明四舍五入和截断之间的区别。第一个语句四舍五入结果。第二个语句截断结果。

语句 结果

Select ROUND(150.75, 0)

151.00

Select ROUND(150.75, 0, 1)

150.00

----------------------------------------------------------------------------日期之差---------------------------

case when DateDiff(dd,借书日期,getdate())>30 then DateDiff(dd,借书日期,getdate())[单价]1.012 else 0 end

my sql四舍五入_SQL查询四舍五入的示例及两种方法相关推荐

  1. mysql行转列sql函数_sql动态行转列的两种方法

    第一种方法: 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when ...

  2. my sql四舍五入_SQL查询四舍五入 解决方法

    方法1: SELECT CAST('123.456' as decimal) 将会得到 123(小数点后面的将会被省略掉). 如果希望得到小数点后面的两位. 则需要把上面的改为 SELECT CAST ...

  3. mysql 列转行 unpivot_Spark SQL中列转行(UNPIVOT)的两种方法

    行列之间的互相转换是ETL中的常见需求,在Spark SQL中,行转列有内建的PIVOT函数可用,没什么特别之处.而列转行要稍微麻烦点.本文整理了2种可行的列转行方法,供参考. 测试数据准备 本文的环 ...

  4. [转]快速清除SQL Server日志的两种方法

    日志文件满而造成SQL数据库无法写入文件时,可用两种方法: 第一种方法:清空日志. 1.打开查询分析器,输入命令 以下是引用片段: DUMP TRANSACTION 数据库名 WITH NO_LOG ...

  5. SQL Server数据库查询速度慢的原因和解决方法

    SQL Server数据库查询速度慢的原因和解决方法 参考文章: (1)SQL Server数据库查询速度慢的原因和解决方法 (2)https://www.cnblogs.com/MyChange/p ...

  6. mysql同时购买两种商品_SQL题1——查询所有购入商品为两种或两种以上的购物人记录...

    题目1:假设顾客购物表 customer_shopping 结构如下: customer     commodity     amount A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5 ...

  7. mysql 查询慢 分析_MySQL优化:定位慢查询的两种方法以及使用explain分析SQL

    一条SQL查询语句在经过MySQL查询优化器处理后会生成一个所谓的执行计划,这个执行计划展示了具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等. 本章的内容就 ...

  8. SQL Server新建数据库的两种方法

    SQL Server新建数据库的两种方法分别是: SQL Server Management Studio管理工具可视化创建 使用Transact-Sql创建 SQL Server Managemen ...

  9. SQL Server中灾难时备份结尾日志(Tail of log)的两种方法

    简介 在数据库数据文件因各种原因发生损坏时,如果日志文件没有损坏.可以通过备份结尾日志(Tail of log)使得数据库可以恢复到灾难发生时的状态. 例如: 上图中.在DB_1中做了完整备份,在Lo ...

最新文章

  1. SMARTFORM 循环打印实现 (循环调用SMARTFORM)
  2. javafx中的tree_JavaFX中的塔防(5)
  3. Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级)
  4. String类型直接赋值与构造赋值
  5. Shiro【授权过滤器、与ehcache整合、验证码、记住我】
  6. PHP学习笔记--015 PHP 随笔
  7. java线上诊断工具,Java线上诊断神器Arthas-1
  8. 关于Julia 和Matlab速度的比较!(以偏概全)。
  9. c语言课件谭浩强ppt下载,c语言课件谭浩强
  10. 个人计算机预防勒索病毒,避免电脑中勒索病毒的方法
  11. AUTOCAD——图块批量改名
  12. Gerrit报错:Permission denied (publickey)
  13. 09-实战拓展(ico图标、图标字体、网站优化三大标签、logo优化、过渡transition、:focus获取元素焦点)
  14. tf 2.0 -- Model -- 模型
  15. uniapp使用canvas画海报二维码
  16. python用谷歌内核制作浏览器_用cef Python打造自己的浏览器
  17. 微内核是什么?宏内核是什么?一文带你了解操作系统内核架构!
  18. 快速离散fr%C3%A9chet距离
  19. UEFI小结-Handle的来龙去脉
  20. flutter截取字符串_Flutter Dart List.map() 获取下标

热门文章

  1. FastReport Online Designer 2023
  2. 基于JavaCS架构的学生成绩管理系统
  3. 首次揭秘美图影像实验室MTlab:发布AI测肤技术、所有产品围绕用AI让你更美
  4. OSChina 周日乱弹 —— 又是一场爱情故事
  5. 张高兴的 Xamarin.Android 学习笔记:(四)常用控件
  6. 多目标鲈鱼优化算法(Matlab代码实现)
  7. 松下DV:GS158和GS258
  8. 关于Android seekTo的一点记录
  9. 【numpy】——np.pad函数操作
  10. 青龙面板 依赖一键安装