Domů > devel, science > Trochu matematiky

Trochu matematiky

10.06.2006 3rojka

Jeden kolega potřeboval pomocí SQL spočítat součin hodnot v daném slopečku tabulky. A jiný můj kolega mu poradil takou vtipnou věc. No není to pěkné posuďte sami:

SELECT exp(sum(log(column_name))) FROM table_name

  • Share/Bookmark
Categories: devel, science Tags:
  1. 12.06.2006 na 09:22 | #1

    To, co tam mas, asi nebude pro Oracle, co? Pro oracle by to melo byt napr. SELECT POWER(10, SUM(LOG(10, n))) FROM table_name…

    A zkousel jsi zkoumat, jak je to s presnosti takovehoto vypoctu? Co zaokrouhlovaci chyby? Mozna ze priblizne to je, ale presne to rozhodne neni…

    Dej si do tabulky napr. 0.2, 10, 0.01 a vysledkem vypoctu je .0199999999999999999999999999999999999999 (a to jsou to jen tri cisla!). Zahrn takto nepresna cisla do nejakeho slozitejsiho vypoctu (treba je vynasob, odmocni) a vysledek ustreli uplne nekam jinam.

  2. 12.06.2006 na 12:14 | #2

    Pro oracle by tam stačilo dát ln, ale o to tady moc nešlo, šlo v podstatě jenom o takovou perličku. Já sám sem to ani nezkoušel jenom se mi na tom líbila ta matemetika.

Komentáře jsou uzavřeny.