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
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.