create function FloatTo10(@f float)
returns varchar(20)
as
BEGIN
declare @i int,@s varchar(20)
set @i=0
while abs(@f)<1
BEGIN
set @f=@f*10
set @i=@i-1
END
while abs(@f)>10
BEGIN
set @f=@f/10
set @i=@i+1
END
set @s=cast(cast(@f as decimal(10,2)) as varchar(20))+'E'+cast(@i as varchar(10))
return @s
END
go
select dbo.FloatTo10(0.234)