SQL去掉小数点有效数字后的所有0

原文:SQL去掉小数点有效数字后的所有0

  • 第一种方法
select cast(2.5000000000000   as  real)
select cast(2   as  real)
select cast(2.00000   as  real)
 
 
  • 第二种方法
CREATE function [dbo].[ClearZero](@inValue varchar(50))
returns varchar(50)
as
begin
declare @returnValue varchar(20)
if(@inValue=‘‘)
   set @returnValue=‘‘ --空的时候为空
else if (charindex(‘.‘,@inValue) =‘0‘)
   set @returnValue=@inValue --针对不含小数点的
else if ( substring(reverse(@inValue),patindex(‘%[^0]%‘,reverse(@inValue)),1)=‘.‘)
          set @returnValue =left(@inValue,len(@inValue)-patindex(‘%[^0]%‘,reverse(@inValue))) --针对小数点后全是0的
      else
          set @returnValue =left(@inValue,len(@inValue)- patindex(‘%[^0]%.%‘,reverse(@inValue))+1) --其他任何情形
return @returnValue
end

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。