Base przy dzieleniu z góry zaokrągla do2 miejsc po przecinku

Użytkowanie programu bazodanowego
busik
Posty: 4
Rejestracja: pn lut 26, 2018 9:24 am

Base przy dzieleniu z góry zaokrągla do2 miejsc po przecinku

Post autor: busik »

Zarówno taki kod jak i taki dają wyniki zaokrąglone do 2 miejsca po przecinku w BASE. Gdziekolwiek indziej są to liczby niewymierne

Kod: Zaznacz cały

select 5.3423/4.23423 from dowolna_tabela

Kod: Zaznacz cały

SELECT DISTINCT CAST(325 as double)/69 from DOWOLNA_TABELA
W innych bazach, nawet na sql on line w necie dostaje precyzyjne wyniki z wieloma miejscami po przecinku.

Co jest?

Funkcja AVG też dokładniej niż do 2 miejsca mi nie zwraca wyników.
LibreOffice 5.4 na Widnows 10
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Base przy dzieleniu z góry zaokrągla do2 miejsc po przec

Post autor: Jan_J »

Zachowanie dla mnie jest niezrozumiałe.
Wygląda trochę jak konwersja z double do decimal, z prezycją sterowaną przez wyrażenie.
Najbardziej niepokoi, że w surowym wydruku sql widać to samo, a nawet w update pole obliczone z ilorazu ma ten sam problem.
Ktoś przekombinował? co z QA?

Czy to problem Base'a, czy wbudowanej bazy HSQL?
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
busik
Posty: 4
Rejestracja: pn lut 26, 2018 9:24 am

Re: Base przy dzieleniu z góry zaokrągla do2 miejsc po przec

Post autor: busik »

Juz wiem. Uczennica moja znalazla:) Otóż widok odpowiedzi kwerendy jest tabelką która ma swoj format jak komorki arkusza kalkulacyjnego!. Klikajac prawym klikiem w tytył kolumny odpowiedzi zauwazamy, ze w takim przypadku jest tam format pokazujacy domyslnie dwa miejsca po przecinku. ZGROZA. Ale problem rozwiązany :)
LibreOffice 5.4 na Widnows 10
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Base przy dzieleniu z góry zaokrągla do2 miejsc po przec

Post autor: Jan_J »

Jeszcze jedno: stała rzeczywista bez jawnej konwersji typu jest traktowana jako decimal, stąd iloraz jest również decimal.
Tym razem jest to skutek zachowania HSQL. Nie wiem czy zgroza, ale mocno mylące.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Zablokowany