Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

In SQL server float datatype does not display leading zeros after decimal point

declare @num as float
set @num=5.20
select @num

will dispaly only 5.2 But i want it to display as 5.20

After a little research i found that it can be solved by using

select CAST(@num AS numeric(10,2))

But this is not the solution i am expecting. Is there any method like setting datatype or changing datatype so that i can achieve the same?(It will be better if any variants are there in float which can do the same)

If it is possible then i need not change the SQL statement and include cast etc. So please help me on this.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

This can be achieved with the decimal datatype.

See below for an example:

declare @num as float;
set @num=5.20;

select convert(decimal(10, 2), @num);

The output here will be 5.20.

After re-reading your question:

But this is not the solution i am expecting. Is there any method like setting datatype or changing datatype so that i can achieve the same?

Is there a reason why you are specifically using float? Oftentimes people tend to default to that datatype when decimal is more than sufficient.

share|improve this answer
1  
+1 ...and most people also get surprised by funny things in float –  Aaron Bertrand Jan 9 at 15:30
1  
And just for an exclamation point: DON'T USE FLOAT UNLESS YOU ARE ABSOLUTELY SURE YOU NEED TO. –  Aaron Bertrand Jan 9 at 15:54

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.