Hystrix


Il mondo è la totalità dei fatti non delle cose.
Home Blogs | Home | Login | Contact | My Profile | RSS | About | Cerca

Produttoria in SQL Server

Il grande Giorgio Rancati, su microsoft.public.it.sql, alla richiesta di come eseguire una produttoria [il prodotto dei termini di un'aggregazione] ha spiazzato il newsgroup con:
Select EXP(SUM( Leggi tutto il post...

Categoria: SQL Server
venerdì, 24 feb 2006 Ore. 10.05

Scrivi un commento

Nome:
Blog:
E-Mail:
(l'indirizzo e-mail non verrà pubblicato, consente di essere avvertiti quando arrivano nuovi commenti a questo Post)
Codice:
Corpo:
Cookie:

Commenti

Autore: manzelliInviato il: 29 mar 2007 - 19.40
Se Campo assume valori <=0 si ha errore in quanto il logaritmo di 0 è -infinto
Autore: MarcInviato il: 29 mar 2007 - 20.03
Ciao,

si, se uno dei valori è 0 il logaritmo non è definito e il limite per x->0+=-inf.
Tra l'altro la cosa, da un punto di vista strettamente matematico non è nemmeno tanto grave visto che poi e^(-inf)->0 :-D
Per i casi negativi invece il problema c'è per metà visto che la produttoria può essere fatta sui soli valori positivi, uno script più corretto potrebbe avere la forma:

select exp(sum(log(nullif(abs(x),0)))) from test

resta da determinare il segno, per esempio con:

select exp(sum(log(nullif(abs(x),0))))*power(-1,sum(case when x<0 then 1 else 0 end)) from test

marc.



Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003