zoukankan      html  css  js  c++  java
  • Sql中的小数点和保留位数

    直接上代码

    首先明确:

    1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
    3.CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。

    虽然说CAST不支持四舍五入,但是有的还是执行了四舍五入了:

    select cast('12.239' as decimal(5,2))--12.24

    反正,遇到四舍五入还是用Round吧

    例子

    --decimal(32,3) 这里的'3'是你要保留的位数
    select cast('12.362222' as  decimal(32,3))--》12.362 
    
    --round('数字','四舍五入后保留小数点后几位')
    select round(122.5255,2)--122.5300
    
    --然后用cast('数字' as  目标类型(一共多长,小数点后保留多少位) )
    --numeric基本等同于Decimal
    select   cast(round(122.5255,2)   as   numeric(5,2))--这个就是将122.5300这个,保留全部是5,小数点后是2  122.53
    select cast('12.3898989' as decimal(32,20))--》12.38989890000000000000
    SELECT CAST('12.56' AS decimal(10,8))--==>12.56000000
    
    --比如下面这个 12.56,decimal全长是要保持10,小数点后要保留8个
    --这里最多是8, 因为12已经占去2位,小数点最多是8个
    SELECT CAST('12.56' AS decimal(10,8))--12.56000000
    SELECT CAST('12' AS int)-->12
    SELECT CAST('12.0' AS int)-->报错,double类型的字符串不能转成int
    SELECT   (Round(cast('12.36' as  decimal(32,2)) * cast('1.23' as  decimal(32,2)),2))--》15.2000
    " * "代表 +-*/
  • 相关阅读:
    函数参数太多的一种简化方法
    laravel 获取所有表名
    使用 laravel 的 queue 必须知道的一些事
    git "refusing to merge unrelated histories" 解决方法
    使用 xhprof 进行 php 的性能分析
    php 性能优化
    js原生实现轮播图效果(面向对象编程)
    nextSibling 和nextElementSibling
    如何在页面中使用svg图标
    svg动画 animate
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/13453942.html
Copyright © 2011-2022 走看看