sqlserver数据库 数据格式化

sqlserver数据库 数据格式化

round
返回数字表达式并四舍五入为指定的长度或精度。

显示的界面上要求只保留到小数点后4位,发现round(表达式,4,1)可以截断小数点4位后的数字
如果写(round,4)表示对小数点后4位四舍五入,但不截断多的0

A. 使用 ROUND 和四舍五入的近似值

下例显示四舍五入和近似值。

语句结果
SELECT ROUND(123.4545, 2)
123.4500
SELECT ROUND(123.45, -2)
100.00

B. 使用 ROUND 截断

下例使用两个 SELECT 语句说明四舍五入和截断之间的区别。第一个语句四舍五入结果。第二个语句截断结果。

语句结果
SELECT ROUND(150.75, 0)
151.00
SELECT ROUND(150.75, 0, 1)
150.00

C.数据转换

Cast(round(555,2) as numeric(12,2)) total
D.数据转换

注意:当对数据进行转换时,如果不加 "as varchar(10)"进行再次转换,则数据的小数点保留将按照小数点位数最长的格式保存。

SELECT b.f_time as  sjcssj,a.avgvalue,(case a.pollutantcode 
when '001' then cast(cast(a.avgvalue as numeric(10,0)) as varchar(10))
when '002' then cast(cast(a.avgvalue as numeric(10,0)) as varchar(10))
when '004' then cast(cast(a.avgvalue as numeric(10,0)) as varchar(10))
when '005' then cast(cast(a.avgvalue as numeric(10,0)) as varchar(10)) 
when '007' then cast(cast(a.avgvalue as numeric(10,0)) as varchar(10)) 
when '008' then cast(cast(a.avgvalue as numeric(10,0)) as varchar(10))
when '006' then cast(cast(a.avgvalue as numeric(10,1)) as varchar(10))
else cast(cast(a.avgvalue as numeric(10,3)) as varchar(10)) end) ItemValue,


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值