In SQL, I have col1
and col2
. Both are integers.
I want to do like:
select col1/col2 from tbl1
I get the result 1
where col1=3
and col2=2
The result I want is 1.1
I put round(col1/col2,2)
. The result is still 1.
I put decimal(col1/col2,2)
. The decimal is not built in function.
How can I do exactly to get 1.1?
Just another approach:
SELECT col1 * 1.0 / col2 FROM tbl1
Multiplying by 1.0 turns an integer into a float numeric(13,1) and so works like a typecast, but most probably it is slower than that.
A slightly shorter variation suggested by Aleksandr Fedorenko in a comment:
SELECT col1 * 1. / col2 FROM tbl1
The effect would be basically the same. The only difference is that the multiplication result in this case would be numeric(12,0).
Principal advantage: less wordy than other approaches.