/****** Object: UserDefinedFunction [dbo].[ClearZero] Script Date: 05/31/2013 17:26:00 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ClearZero]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[ClearZero] GO /****** Object: UserDefinedFunction [dbo].[ClearZero] Script Date: 05/31/2013 17:26:00 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO 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 GO
用法 1、 在你所用的数据库执行以下函数
2、 在查询sql 语句中 要用到dbo.ClearZero('字符类型')