oracle 去掉小数点后面的0,mssql sqlserver如何去掉小数点后面多余的0呢?

摘要:

下文讲述sqlserver数据库中去掉小数点后面多余0的方法分享,如下所示;

实现思路:

方式1:

将数值转换为real类型即可

cast(@a as real)

convert(real,@a)

方式2:

通过编写自定义函数处理多余的零

/*

自定义函数的实现原理:

/*匹配出连续零的位置*/

patindex('%[^0]%',reverse(@a)

通过反转,然后把反转后字符串左边所有的零剔除掉

*/

例:

declare @a decimal(18,5)

set @a =18.9

select cast(@a as real)

,convert(real,@a)

go

CREATE function dbo.duoYuLingJieQu(@a varchar(50))

returns varchar(50)

as

begin

declare @returnValue varchar(20)

if(@a='')

set @returnValue=''

else if (charindex('.',@a) ='0') --无小数点

set @returnValue=@a

else if ( substring(reverse(@a),patindex('%[^0]%',reverse(@a)),1)='.')

set @returnValue =left(@a,len(@a)-patindex('%[^0]%',reverse(@a))) --针对小数点后全是0的

else

set @returnValue =left(@a,len(@a)- patindex('%[^0]%.%',reverse(@a))+1) --其他任何情形

return @returnValue

end

go

select dbo.duoYuLingJieQu('19.81000')

go

drop function dbo.duoYuLingJieQu

go

d9176f2a714178f6aef6e59462bfc486.png

mssql_sqlserver去掉小数点后面多余0的示例分享

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值