Nyttige matematiske funksjoner
ABS, MOD, POWER og mer.
Nyttige matematiske funksjoner er en gratis leksjon i SQL Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i SQL Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i SQL Academy inneholder totalt 4 leksjoner.
Hvorfor matematiske funksjoner er viktige
SQL handler ikke bare om å lagre og hente tekst – det er også et kraftig verktøy for numeriske beregninger. Innebygde matematiske funksjoner lar deg beregne absoluttverdier, rester, potenser og mer, uten å forlate spørringen.
I denne leksjonen lærer du de mest nyttige numeriske funksjonene i SQL: ABS, MOD, POWER, SQRT, ROUND, CEIL, FLOOR og SIGN.
ABS — Absoluttverdi
ABS(n) returnerer absoluttverdien, altså den ikke-negative verdien, av et tall. Negative tall blir positive, mens positive tall og null forblir uendret.
Dette er nyttig når du er opptatt av avstanden fra null, ikke retningen – for eksempel når du beregner hvor langt en temperatur er fra målet, uavhengig av om den ligger over eller under.
SELECT ABS(-42), -- 42
ABS(15), -- 15
ABS(0); -- 0ABS i en virkelig spørring
Se for deg en transactions-tabell der uttak lagres som negative beløp. Du kan bruke ABS til å vise alle beløp som positive tall, uavhengig av fortegnet.
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 — Rest etter divisjon
MOD(dividend, divisor) returnerer resten når det første tallet deles på det andre. Det er SQL-ekvivalenten til operatoren % i mange programmeringsspråk.
Et klassisk bruksområde er å sjekke om et tall er partall eller oddetall: Hvis MOD(n, 2) = 0, er tallet et partall. Ellers er det et oddetall.
SELECT MOD(10, 3), -- 1 (10 = 3*3 + 1)
MOD(15, 5), -- 0 (15 = 5*3 + 0)
MOD(7, 2); -- 1 (odd number)MOD i en virkelig spørring
Du kan bruke MOD i en WHERE-betingelse til å filtrere rader. Her velger vi bare ordrene med en partallsverdi i id.
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 — Potensering
POWER(base, exponent) opphøyer et tall i den angitte eksponenten. POWER(2, 10) gir 1024, og POWER(9, 0.5) gir 3, som er kvadratroten av 9.
Denne funksjonen er nyttig for beregninger med rentes rente, arealformler og alle situasjoner som omfatter eksponentiell vekst.
SELECT POWER(2, 10), -- 1024
POWER(3, 3), -- 27
POWER(9, 0.5); -- 3 (square root)SQRT — Kvadratrot
SQRT(n) er en praktisk kortform for POWER(n, 0.5). Den returnerer kvadratroten av et ikke-negativt tall.
Hvis du for eksempel lagrer arealet til et kvadratisk jordstykke, kan du finne sidelengden med SQRT(area).
SELECT SQRT(25), -- 5
SQRT(2), -- 1.4142...
SQRT(100); -- 10ROUND — Avrunde til N desimalplasser
ROUND(n, d) avrunder n til d desimalplasser. Hvis du utelater d (eller angir 0), blir resultatet et heltall. Negative verdier for d avrunder til venstre for desimaltegnet.
SELECT ROUND(3.14159, 2), -- 3.14
ROUND(2.555, 2), -- 2.56
ROUND(1234.5, -2), -- 1200
ROUND(9.9); -- 10CEIL og FLOOR — Alltid rund opp eller ned
CEIL(n) (også skrevet CEILING) runder alltid opp til nærmeste heltall, mens FLOOR(n) alltid runder ned.
Bruk CEIL når du trenger et minste antall av noe, for eksempel antallet sider som trengs for å skrive ut rader, og FLOOR når du trenger det største heltallet som ikke overskrider en verdi, for eksempel antallet hele uker som har gått.
SELECT CEIL(4.1), -- 5
CEIL(-4.1), -- -4
FLOOR(4.9), -- 4
FLOOR(-4.9); -- -5SIGN — Hvilket fortegn har tallet?
SIGN(n) returnerer 1 hvis tallet er positivt, -1 hvis det er negativt, og 0 hvis det er null. Det er en rask måte å kategorisere numeriske verdier på uten å skrive et CASE-uttrykk.
SELECT SIGN(42), -- 1
SIGN(-7), -- -1
SIGN(0); -- 0Kombinere matematiske funksjoner
Matematiske funksjoner kan kombineres fritt i ett enkelt uttrykk. Eksempelet nedenfor beregner den månedlige betalingen for et enkelt lån ved å bruke ROUND og POWER sammen. Det viser hvordan disse funksjonene utfyller hverandre i reell forretningslogikk.
-- 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;Kort sjekk
Test forståelsen din av matematiske funksjoner i SQL.
Oppsummering
Godt arbeid! Her er en oppsummering av de matematiske SQL-funksjonene du har lært i denne leksjonen:
- ABS(n) – absoluttverdi (fjerner fortegnet)
- MOD(a, b) – resten etter at a er delt på b
- POWER(base, exp) – opphøyer et tall i en potens
- SQRT(n) – kvadratrot
- ROUND(n, d) – avrunder til d desimalplasser
- CEIL(n) – runder alltid opp til neste heltall
- FLOOR(n) – runder alltid ned til forrige heltall
- SIGN(n) – returnerer 1, -1 eller 0 basert på tallets fortegn
Disse funksjonene fungerer i alle større SQL-databaser og kan nøstes eller kombineres for å håndtere kompleks numerisk logikk direkte i spørringene dine.
Lær deg SQL med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 46
- Leksjoner
- 183
Ofte stilte spørsmål
Er leksjonen «Nyttige matematiske funksjoner» gratis?
Ja – hele teksten i «Nyttige matematiske funksjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av SQL Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i SQL Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Nyttige matematiske funksjoner»?
ABS, MOD, POWER og mer. Du øver på SQL Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med SQL Academy?
Ingen tidligere erfaring er nødvendig. SQL Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Nyttige matematiske funksjoner»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne SQL Academy-leksjonen?
Ja. Alle SQL Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Aritmetikk og operatorer
- Avrunding og avkorting
- Heltallsdivisjon kontra desimaldivisjon
- Nyttige matematiske funksjoner