Il mysql ci mette a disposizione delle formule native per il calcolo all’interno delle query (1)
Se siete abituati a eseguire calcoli attraverso i linguaggi di programmazione lato server (come php e asp) e poi a riportare il risultato nelle query mysql, non sentitevi esclusi: è la procedura più comune. Questo perché i linguaggi di programmazione standard mettono a disposizione un numero di funzioni matematiche più complete rispetto a quelle eseguibili da mysql.
Ma in alcune situazioni, per esempio in una join molto complessa, diventa difficile (e a volte impossibile) eseguire un calcolo prima dell’avvio della query. Ecco quindi che le funzioni native del mysql sono indispensabili.
In questo articolo elenco, suddivisi secondo la tipologia, le varie funzioni matematiche del mysql con una breve spiegazione e un esempio di utilizzo di base. Per un approfondimento potete leggervi la documentazione che trovate in fondo.
ABS(X)
Restituisce il valore assoluto del valore passato.
SELECT ABS(-10);
ACOS(X)
ASIN(X)
ATAN(X)
COS(X)
COT(X)
SIN(X)
TAN(X)
Ritornano rispettivamente l’arcocoseno, l’arcoseno, l’arcotangente, il coseno, la cotangente, il seno e la tangente del valore passato.
Nella funzione dell’arcotangente possono essere passati due valori (mettiamo siano X, Y): in questo caso è come calcolare l’arcotangente di Y diviso X.
SELECT ACOS(0);
SELECT ASIN(0.2);
SELECT ATAN(2);
SELECT COS(PI());
SELECT COT(12);
SELECT SIN(PI());
SELECT TAN(PI());
CEIL(X) oppure CEILING(X)
FLOOR(X)
Entrambi i tipi di funzioni trasformano il valore passato in un intero. Ma nella prima l’intero risultante sarà sempre maggiore o uguale a X, mentre nella seconda sarà sempre minore o uguale a X. L’esempio qui sotto, quindi, darà come risultato rispettivamente 3 e 2.
SELECT CEILING(2.4)
SELECT FLOOR(2.4)
CONV(N, from_base, to_base)
Trasforma il formato di un numero, dal formato “from_base” al formato “to_base”. La base deve essere compresa tra 2 e 36. Il seguente esempio trasforma la stringa “a” da base 16 a base 2.
SELECT CONV(‘a’,16,2);
Leggi Tutto >>