Funzioni matematiche utili
ABS, MOD, POWER e altro
Funzioni matematiche utili è una lezione SQL Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SQL Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SQL Academy include 4 lezioni in totale.
Perché le funzioni matematiche sono importanti
SQL non serve solo a memorizzare e recuperare testo: è anche un potente strumento per i calcoli numerici. Le funzioni matematiche integrate consentono di calcolare valori assoluti, resti, potenze e molto altro, direttamente nella query.
In questa lezione imparerà a usare le funzioni numeriche SQL più utili: ABS, MOD, POWER, SQRT, ROUND, CEIL, FLOOR e SIGN.
ABS — Valore assoluto
ABS(n) restituisce il valore assoluto, cioè non negativo, di un numero. I numeri negativi diventano positivi, mentre i numeri positivi e lo zero rimangono invariati.
È utile quando interessa la distanza dallo zero, anziché la direzione: ad esempio, per calcolare quanto una temperatura si discosta dall’obiettivo, indipendentemente dal fatto che sia superiore o inferiore.
SELECT ABS(-42), -- 42
ABS(15), -- 15
ABS(0); -- 0ABS in una query reale
Immagini una tabella transactions in cui i prelievi sono memorizzati come importi negativi. Può utilizzare ABS per visualizzare ogni importo come numero positivo, indipendentemente dalla direzione.
CREATE TABLE transactions (
id INTEGER,
amount NUMERIC
);
INSERT INTO transactions VALUES (1, 200.00), (2, -50.00), (3, -120.00), (4, 80.00);
SELECT id,
amount,
ABS(amount) AS absolute_amount
FROM transactions;MOD — Resto della divisione
MOD(dividend, divisor) restituisce il resto ottenuto dividendo il primo numero per il secondo. È l’equivalente SQL dell’operatore % presente in molti linguaggi di programmazione.
Un caso d’uso classico consiste nel verificare se un numero è pari o dispari: se MOD(n, 2) = 0, il numero è pari; altrimenti è dispari.
SELECT MOD(10, 3), -- 1 (10 = 3*3 + 1)
MOD(15, 5), -- 0 (15 = 5*3 + 0)
MOD(7, 2); -- 1 (odd number)MOD in una query reale
Può utilizzare MOD all’interno di una clausola WHERE per filtrare le righe. Qui selezioniamo solo gli ordini con un id pari.
CREATE TABLE orders (
id INTEGER,
total NUMERIC
);
INSERT INTO orders VALUES (1, 99.99), (2, 45.00), (3, 130.50), (4, 22.00), (5, 75.00), (6, 60.00);
SELECT id, total
FROM orders
WHERE MOD(id, 2) = 0;POWER — Elevamento a potenza
POWER(base, exponent) eleva un numero alla potenza indicata. POWER(2, 10) restituisce 1024 e POWER(9, 0.5) restituisce 3, cioè la radice quadrata di 9.
Questa funzione è utile per i calcoli dell’interesse composto, le formule delle aree e qualsiasi situazione che implichi una crescita esponenziale.
SELECT POWER(2, 10), -- 1024
POWER(3, 3), -- 27
POWER(9, 0.5); -- 3 (square root)SQRT — Radice quadrata
SQRT(n) è una forma abbreviata e comoda di POWER(n, 0.5). Restituisce la radice quadrata di un numero non negativo.
Ad esempio, se memorizza l’area di un terreno quadrato, può ricavare la lunghezza del lato con SQRT(area).
SELECT SQRT(25), -- 5
SQRT(2), -- 1.4142...
SQRT(100); -- 10ROUND — Arrotondamento a N cifre decimali
ROUND(n, d) arrotonda n a d cifre decimali. Se omette d o passa 0, il risultato è un intero. I valori negativi di d arrotondano a sinistra del separatore decimale.
SELECT ROUND(3.14159, 2), -- 3.14
ROUND(2.555, 2), -- 2.56
ROUND(1234.5, -2), -- 1200
ROUND(9.9); -- 10CEIL e FLOOR — Arrotondamento sempre per eccesso o per difetto
CEIL(n), scritto anche CEILING, arrotonda sempre per eccesso all’intero più vicino, mentre FLOOR(n) arrotonda sempre per difetto.
Utilizzi CEIL quando Le serve il numero minimo di qualcosa, ad esempio le pagine necessarie per stampare le righe, e FLOOR quando Le serve il numero intero più grande che non supera un valore, ad esempio il numero di settimane complete trascorse.
SELECT CEIL(4.1), -- 5
CEIL(-4.1), -- -4
FLOOR(4.9), -- 4
FLOOR(-4.9); -- -5SIGN — Qual è il segno del numero?
SIGN(n) restituisce 1 se il numero è positivo, -1 se è negativo e 0 se è zero. È un modo rapido per classificare i valori numerici senza scrivere un’espressione CASE.
SELECT SIGN(42), -- 1
SIGN(-7), -- -1
SIGN(0); -- 0Combinazione di funzioni matematiche
Le funzioni matematiche possono essere combinate liberamente all’interno di un’unica espressione. L’esempio seguente calcola la rata mensile di un prestito semplice utilizzando insieme ROUND e POWER e mostra come queste funzioni possano integrarsi nella logica aziendale reale.
-- Monthly payment formula: P * r / (1 - (1+r)^-n)
-- P=10000, annual rate 6% (r=0.005/month), n=24 months
SELECT ROUND(
10000.0 * 0.005 / (1 - POWER(1 + 0.005, -24)),
2
) AS monthly_payment;Controllo rapido
Verifichi la Sua comprensione delle funzioni matematiche SQL.
Riepilogo della lezione
Ottimo lavoro! Ecco un riepilogo delle funzioni matematiche SQL apprese in questa lezione:
- ABS(n) — valore assoluto (rimuove il segno)
- MOD(a, b) — resto della divisione di a per b
- POWER(base, exp) — eleva un numero a una potenza
- SQRT(n) — radice quadrata
- ROUND(n, d) — arrotonda a d cifre decimali
- CEIL(n) — arrotonda sempre per eccesso all’intero successivo
- FLOOR(n) — arrotonda sempre per difetto all’intero precedente
- SIGN(n) — restituisce 1, -1 o 0 in base al segno del numero
Queste funzioni sono disponibili in tutti i principali database SQL e possono essere annidate o combinate per gestire direttamente nelle query logiche numeriche complesse.
Domande Frequenti
La lezione «Funzioni matematiche utili» è gratuita?
Sì — il testo completo di «Funzioni matematiche utili» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SQL Academy, passa a CoddyKit PRO. Il corso SQL Academy include 4 lezioni in totale.
Cosa imparerò in «Funzioni matematiche utili»?
ABS, MOD, POWER e altro Eserciti SQL Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare SQL Academy?
Non è richiesta alcuna esperienza precedente. SQL Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Funzioni matematiche utili»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione SQL Academy?
Sì. Ogni lezione SQL Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Aritmetica e operatori
- Arrotondamento e troncamento
- Divisione tra interi e decimali
- Funzioni matematiche utili