sql中round(),floor(),ceiling()函数的用法和区别分别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中round(),floor(),ceiling()函数的用法和区别分别是啥?相关的知识,希望对你有一定的参考价值。

    round()遵循四舍五入把原值转化为指定小数位数。
    如:round(1.45,0) = 1;round(1.55,0)=2

    floor()向下舍入为指定小数位数.
    如:floor(1.45,0)= 1;floor(1.55,0) = 1

    ceiling()向上舍入为指定小数位数.
    如:ceiling(1.45,0) = 2;ceiling(1.55,0)=2

拓展回答:

SQL Aggregate 函数,SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:

    AVG() - 返回平均值。

    COUNT() - 返回行数。

    FIRST() - 返回第一个记录的值。

    LAST() - 返回最后一个记录的值。

    MAX() - 返回最大值。

    MIN() - 返回最小值。

    SUM() - 返回总和。

SQL Scalar 函数:SQL Scalar 函数基于输入值,返回一个单一的值。 有用的 Scalar 函数:

    UCASE() - 将某个字段转换为大写。

    LCASE() - 将某个字段转换为小写。

    MID() - 从某个文本字段提取字符。

    LEN() - 返回某个文本字段的长度。

    ROUND() - 对某个数值字段进行指定小数位数的四舍五入。

    NOW() - 返回当前的系统日期和时间。

    FORMAT() - 格式化某个字段的显示方式。

参考技术A round()
遵循四舍五入把原值转化为指定小数位数,如:round(1.45,0)
=
1;round(1.55,0)=2
floor()向下舍入为指定小数位数
如:floor(1.45,0)=
1;floor(1.55,0)
=
1
ceiling()向上舍入为指定小数位数
如:ceiling(1.45,0)
=
2;ceiling(1.55,0)=2
参考技术B

ROUND:返回数字表达式并四舍五入为指定的长度或精度。精确数字或近似数字数据类型类别的表达式。
length是numeric_expression将要四舍五入的精度。length必须是tinyint、smallint或int。

当length为正数时,numeric_expression四舍五入为length所指定的小数位数。当length为负数时,numeric_expression则按length所指定的在小数点的左边四舍五入。

function是要执行的操作类型。function必须是tinyint、smallint或int。如果省略function或function的值为0(默认),numeric_expression将四舍五入。当指定0以外的值时,将截断numeric_expression。ROUND始终返回一个值。如果length是负数且大于小数点前的数字个数,ROUND将返回0。

示例:
ROUND(748.58,-4)0,当length是负数时,无论什么数据类型,ROUND都将返回一个四舍五入的numeric_expression。

示列:ROUND(748.58,-1)750.00
ROUND(748.58,-2)700.00
ROUND(748.58,-3)1000.00

SQL中Round(),Floor(),Ceiling()函数的浅析

项目中的一个功能模块上用到了标量值函数,函数中又有ceiling()函数的用法,自己找了一些资料,对SQL中这几个函数做一个简单的记录,方便自己学习。有不足之处欢迎拍砖补充

1.round()函数遵循四舍五入原则,用于把数值字段舍入为指定的小数位数

2.floor(value)函数返回小于或等于指定值(value)的最小整数

3.ceiling(value)函数返回大于或等于指定值(value)的最小整数

例如:对于12.9,floor(12.9)返回12;ceiling(12.9)返回13;round(12.9,0)返回13

其中,round()函数的标准用法:

select round(column_name,decimals) from table_name

SQL实例:有一个Products表

现在,把价格舍入为最近的整数。

select ProductName,round(UnitPrice,0) as UnitPrice from Products

结果如下:

这是自己做的一个记录,方便以后的学习。

 

以上是关于sql中round(),floor(),ceiling()函数的用法和区别分别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

ceil,floor,trunc,round,sign几个函数在SQL的使用方法

hive的floor函数,ceil函数,round函数

sql 中取整,四舍五入取整,向下取整,向上取整。

Math中的floor,round和ceil方法总结

php中除法取整的方法(round,ceil,floor)

python int() round() floor()函数的比较