暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL ROUND() 函数的使用

SQL数据库运维 2021-08-13
3377

点击蓝色字关注“SQL数据库运维”

ROUND() 函数

ROUND 函数用于把数值字段舍入为指定的小数位数。

SQL ROUND() 语法

    SELECT ROUND(column_name,decimals) FROM table_name

    参数

    描述

    column_name

    必需。要舍入的字段。

    decimals

    必需。规定要返回的小数位数。

    :如果 decimals为正数,则将 column_name 列的数值舍入到 decimals 指定的小数位数。如果 decimals 为负数,则将 column_name 列的数值小数点左边部分舍入到 decimals指定的长度。


    SQL Server ROUND() 实例

    1、下面的 SQL 语句将ROUND()函数中指定固定的值,进行返回数据结果(左滑查看结果):

      SELECT ROUND(100.52345,-3)    --结果:0.00000
      SELECT ROUND(100.12345,-1) --结果:100.00000
      SELECT ROUND(100.12345,0) --结果:100.00000
      SELECT ROUND(100.12345,1) --结果:100.10000
      SELECT ROUND(100.12345,2) --结果:100.12000
      SELECT ROUND(100.12345,3) --结果:100.12300
      SELECT ROUND(100.12345,4) --结果:100.12350
      SELECT ROUND(100.12345,5) --结果:100.12345
      SELECT ROUND(12.345,2,1) --结果:12.340
      SELECT ROUND(12.345,2,0) --结果:12.350

      根据以上例子总结:

      • ROUND 始终返回一个值。如果 decimals 为负数,并且大于小数点前的数字个数,则 ROUND 将返回 0。

      • 第一个参数是取值的数据,第二个参数是精度,第三个参数是数据取值模式(四舍五入还是截断),其中第三个参数是可选参数,默认是四舍五入模式。

      • 从上面结果可以看出,数据并非只保留两位小数,而是保留两位有效小数。

      • 从上面可以看出,默认不使用第三个参数是四舍五入模式。


      更加容易理解的例子:

      A. 使用 ROUND 和估计值

      以下示例显示了两个表达式,阐释使用了 ROUND 后,最后一位数将始终为估计值。左滑查看结果

        SELECT ROUND(123.9994, 3)     --结果:123.9990
        SELECT ROUND(123.9995, 3) --结果: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

            点击关注“SQL数据库运维”,后台回复关键字:进群,带你进入高手如云的技术交流群。

            文章转载自SQL数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论