I have some tables in a SQLite database that contains FLOAT column type, now i want to retrieve the value with a Query and format the float field always with 2 decimal places, so far i have written i query like this one :
SELECT ROUND(floatField,2) AD field FROM table
this return a resultset like the the following :
3.56
----
2.4
----
4.78
----
3
I want to format the result always with two decimal places, so :
3.56
----
2.40
----
4.78
----
3.00
Is it possible to format always with 2 decimal places directly from the SQL Query ? How can it be done in SQLite ?
Thanks.
You can use printf
as:
SELECT printf("%.2f", floatField) AS field FROM table;
for example:
sqlite> SELECT printf("%.2f", floatField) AS field FROM mytable;
3.56
2.40
4.78
3.00
sqlite>
Due to the way sqlite stores numbers internally,
You probably want something like this
select case when substr(num,length(ROUND(floatField,2))-1,1) = "." then num || "0" else num end from table;
You could try Select Str(12345.6789, 12, 3)
displays: ' 12345.679' ( 3 spaces, 5 digits 12345, a decimal point, and three decimal digits (679). - it rounds if it has to truncate, (unless the integer part is too large for the total size, in which case asterisks are displayed instead.)
for a Total of 12 characters, with 3 to the right of decimal point.