sql中round()函数的用法?

Posted

tags:

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

请举例子说明

ROUND() 函数

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

具体语法参考:

-from 树懒学堂

实例:

ROUND(X): 返回参数X的四舍五入的一个整数。

ROUND(X,D): 返回参数X的四舍五入的有 D 位小数的一个数字。如果D为0,结果将没有小数点或小数部分。

参考技术A ROUND
返回数字表达式并四舍五入为指定的长度或精度。

语法
ROUND ( numeric_expression , length [ , function ] )

参数
numeric_expression

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

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。

返回类型
返回与 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本回答被提问者采纳
参考技术B SQL取整函数ROUND的用法
ROUND
(
numeric_expression
,
length
[
,
function
]
)参数numeric_expression
精确数字或近似数字数据类型类别的表达式(bit
数据类型除外)。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。
参考技术C 我也补一点:
round()当中对四舍五入的处理中以5的处理有一定的随机性,也就是round(4.15,1)可能返回4.1 也有可能返回4.2,所以在使用这个函数时可以先加个小数0.05,如round(4.15+0.05,1)那么返回的值就不会是4.1了。
参考技术D 上面回答很详细了

SQL的ROUND函数用法及其实例

目录

1.ROUND函数的语法及用法

(1)语法:round(value,n)

(2)用法:对某个数值(字段)保留指定小数位数(四舍五入)。

2.实例


1.ROUND函数的语法及用法

(1)语法:round(value,n)

#查询语句
select [column(s),]
round(value,n) as another_name
from table

参数说明

value:数值。可为储存数值的字段。

n:小数点位数,为自然数。

说明:①用法与excel的round函数相似。

②数值四舍五入,不够用0来凑。

(2)用法:对某个数值(字段)保留指定小数位数(四舍五入)。


2.实例

(1)保留数值的小数点后两位。

例:

#保留2301.15476的两位小数。
select round(2301.15476,2) 
#结果为=》2301.15

#保留13.36666的一位小数点。
select round(13.36666,2) 
#结果为=》13.4

#保留1345.0335的整数。
select round(1345.0335,2) 
#结果为=》1345

#保留1365的两位小数。
select round(1345.0335,2) 
#结果为=》1365.00

(2)对字段进行指定小数点位数。

现有一张产品信息表product,其中,产品名name,平台platform,包名package,收入revenue。

product
nameidplatformpackagerevenue
ADnb1453523iosid136435223.2
ABcbha1654365iosd154646156
ABCD1566456iosid4534309265
ADnb1435655andcomsbmbaJ521
eaJKNV1646563andcomjkwmad23

例1:获取所有产品信息,并保留收益后两位小数。

select name,id,platform,package,
round(revenue,2) as rev
from product

例2:按产品名分组获取求和收益并保留两位小数点,按收益降序排序。

select name,
round(sum(revenue),2) as rev
from product
group by name
order by rev desc

参考文章:SQL ROUND() 函数 | 菜鸟教程 (runoob.com)

group by函数的具体用法参考:SQL的group by函数的用法实例_小白修炼晋级中的博客-CSDN博客

order by函数的具体用法参考:SQL的order by函数语法及其用法实例——排序方式_小白修炼晋级中的博客-CSDN博客

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

SQL的ROUND函数用法及其实例

sql 语句 round 用法

SQL 中 Round 用法

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

matlab中round函数具体用法是啥?

Round函数