sqlserver清除小数点后无效的0位

CREATE function Clear_Numberic_LastO(@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

select dbo.Clear_Numberic_LastO('100.0900')
阅读更多
文章标签: sqlserver sql
个人分类: sql sqlserver
上一篇sqlserver判断库、表、列、临时表、存储过程、视图、函数是否存在的sql
下一篇sqlserver查询树表某个节点所有的子节点
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭