How are you trying to truncate it? "Truncate" may be a misnomer - you can express the same number in other formats. For example see the code below. Also, float is an approximate representation, so the result you get back may not be exactly the samecreate table #tmp(floatval float);
insert into #tmp values ('-1.45000001339213E-06');
select cast(floatval as decimal(19,16)) from #tmp
drop table #tmp;