2011年9月7日 星期三

去掉小數之後多餘的零數


declare @LeftNumber as nvarchar(50);
declare @RightNumber as nvarchar(50);
declare @NewNumber as nvarchar(50);


set @number='350.00000000000'
set @LeftNumber=substring(@number,1,charindex('.',@number)-1)
set @RightNumber=substring(@number,charindex('.',@number)+1,len(@number)-charindex('.',@number))
set @RightNumber=reverse(cast(reverse(@RightNumber) as decimal(38,0)))

if @RightNumber!='0'
set  @LeftNumber+='.';

set @RightNumber=isnull(nullif(@RightNumber,0),'')


set @NewNumber=replace(replace('MN','M',@LeftNumber),'N',@RightNumber)


select @number '@number',@LeftNumber '@LeftNumber',@RightNumber '@RightNumber',@NewNumber '@NewNumber';


結果

350.00000000000 350
2.00000000000 2
0.50000000000 0.5
0.00350000000 0.0035
0.00035000000 0.00035

沒有留言:

張貼留言