sql中round()函数的用法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中round()函数的用法?相关的知识,希望对你有一定的参考价值。
请举例子说明
ROUND() 函数
ROUND() 函数用于把数值字段舍入为指定的小数位数。
具体语法参考:
实例:
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函数用法及其实例
目录
(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。
name | id | platform | package | revenue |
ADnb | 1453523 | ios | id1364352 | 23.2 |
ABcbha | 1654365 | ios | d154646 | 156 |
ABCD | 1566456 | ios | id4534309 | 265 |
ADnb | 1435655 | and | comsbmbaJ | 521 |
eaJKNV | 1646563 | and | comjkwmad | 23 |
例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()函数的用法?的主要内容,如果未能解决你的问题,请参考以下文章