SQLite- przemnożenie dwóch kolumn daje w wyniku kolumnę stringową

0

Piszę mały program oparty na SQLite.
i mam dwie kolumny liczbowe (typ real). Ale jak w zapytaniu wpiszę kolumna1 * kolumna2 AS razem to dostaję kolumnę typu TStringField.
Ktoś wie dlaczego?
Ja chcę kolumnę typu TFloat.

0

Ha... wydaje się, że sprawa nie do przeskoczenia... jeśli dasz sobie:

select typeof((kolumna1 * kolumna2)) from twoja_tabela

to wynikiem rzeczywiście jest real, ale:

select kolumna1 * kolumna2 as razem from twoja_tabela

daje wynik jako text... musisz po prostu w programie użyć jakiegoś StrToFloat.

Ewentualnie (nie wiem czego używasz do pracy z sqlite) poszukać w bibliotece poleceń umożliwiających konwersję przy odczycie wyników z bazy, zapewne znajdziesz coś w stylu FieldAsInteger, FieldAsDouble itp.

0

Rzeczywiście typeOf(liczba1 * liczba2) date text.
Ale poradziłem sobie inaczej.
Zrobiłem nową kolumnę wynik typu real którą wypełnia trigger.

1 użytkowników online, w tym zalogowanych: 0, gości: 1