Podział w sqlite zwracanej wartości całkowitej
sqlite> select totalUsers/totalBids from
(select (select count(*) from Bids) as totalBids ,
(select count(*) from Users) as totalUsers) A;
1
Czy możemy zapisać wynik, aby otrzymać rzeczywistą wartość wyniku dzielenia?
W Sqlite dzielenie liczby całkowitej przez inną liczbę całkowitą zawsze będzie zaokrąglane w dół do najbliższej liczby całkowitej.
Dlatego jeśli rzucisz moduł wyliczający na zmiennoprzecinkowy:
SELECT CAST(field1 AS FLOAT) / field2
źródło
select cast ( ( select 1 ) as real );
https://www.sqlite.org/lang_expr.html#castexpr
źródło
lub jeśli chcesz zaktualizować kolumnę na podstawie kolumny tekstowej:
UPDATE table_with_fields SET real_field=cast(field_with_txt AS real)
źródło