Tip SQL per palati raffinati
Posted luglio 30th, 2009 by slackoOggi avevo bisogno di una funzione che restituisse la moltiplicatoria di tutti i valori di un campo in una tabella lavorando in T-SQL. Insomma come una SUM ma per la moltiplicazione.
Cercando tra la documentazione non ho trovato niente del genere, poi mi sono ricordato che oltre ad avere una laurea in Informatica ho anche fatto la 3a media e quindi ho presto risolto:
sappiamo che log(A*B) = log(A) + log(B)
quindi la soluzione è
SELECT CAST(EXP(SUM(LOG(campo))) AS FLOAT) FROM tabella.
L’EXP serve ad elidere il LOG eh, mica per abbellimento.
Magari è utile a qualcuno, magari no.
2 Responses to “Tip SQL per palati raffinati”
agosto 23rd, 2009 at 13:18
ma sei sicuro ke non esista la funzione per la moltiplicazione?
bà cmq buona soluzione
agosto 27th, 2009 at 09:55
essì, sono sicuro, non c'è altro metodo.
Leave a Reply