在数据处理中,我们经常遇到舍入,并且“看到点成角度”
舍入: 通常可以使用舍入函数语法: 舍入(@ data,@ digit),
例如: 舍入(23.5729,3)= 23.5730
请参见子输入角度: 即最后一位大于0.
如果存在(从ID为OBJECT_ID('DBO.CEIL_IN')的SYSOBJECTS中选择1)
DROP FUNCTION CEIL_IN
GO
创建函数ceil_in(@number varchar(20),@ digit int)-两个参数sql decimal 四舍五入,待处理的@number数据; @digit需要保留一些小数位.
返回varchar(21)
开始
声明@int_part varchar(10),@ decimal_partvarchar(10),@ decimal_part1 varchar(10)
如果charindex('. ',@ number)<> 0
开始
-将@number分成整数和小数部分
set @int_part = left(rtrim(@number),charindex('. ',@ number,0))
set @decimal_part = right(rtrim(@number),len(rtrim(@number))-charindex('. ',rtrim(@number),0))
如果len(@decimal_part)> @digit
开始
设置@小数部分1 =左(@小数部分sql decimal 四舍五入,@数字)+'. ' +右(@ decimal_part,len(@decimal_part)-@ digit)-将小数部分拆分为另一个小数
如果len(上限(@ decimal_part1))<> @数字和左数(@ decimal_part1,1)<>'0'
set @number = cast((cast(cast(cast(@number as float)as int)+ 1)as varchar(10))
其他
开始
设置@decimal_part =上限(@ decimal_part1)
设置@number = @int_part + @decimal_part
结束
结束
结束
返回(@number)
结束
例如ceil_in(23.111,2)= 23.12
PS: 如果只需要保留整数,则还可以使用CEILING(@data),但只能保留整数.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-163674-1.html