b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

SQLSERVER取整并“看到要害处”

电脑杂谈  发布时间:2020-04-04 13:16:37  来源:网络整理

sql decimal 四舍五入_sql decimal 四舍五入_sql decimal类型

在数据处理中,我们经常遇到舍入,并且“看到点成角度”

舍入: 通常可以使用舍入函数语法: 舍入(@ data,@ digit),

例如: 舍入(23.5729,3)= 23.5730

请参见子输入角度: 即最后一位大于0.

如果存在(从ID为OBJECT_ID('DBO.CEIL_IN')的SYSOBJECTS中选择1)

DROP FUNCTION CEIL_IN

sql decimal 四舍五入_sql decimal 四舍五入_sql decimal类型

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

sql decimal类型_sql decimal 四舍五入_sql decimal 四舍五入

开始

-将@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

开始

sql decimal类型_sql decimal 四舍五入_sql decimal 四舍五入

设置@小数部分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)

sql decimal 四舍五入_sql decimal类型_sql decimal 四舍五入

设置@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

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...