Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 13

Sistemske funkcije

Općenito

• DBMS sadrži sistemske funkcije koje služe u upitima za različite operacije na podacima
• Sistemske funkcije se mogu podijeliti
• Skalarne funkcije
• Kao parametar uzimaju jednu vrijednost i vraćaju jednu vrijednost kao rezultat
• Agregatne funkcije
• Kao parametar uzimaju više vrijednosti, a kao rezultat vraćaju jednu
(agregiranu) vrijednost
Skalarne funkcije

• Postoji mnogo skalarnih funkcija ugrađenih u DBMS od kojih ćemo samo neke
spomenuti
• Nama zanimljive su sljedeće skupine skalarnih funkcija
• Matematičke funkcije
• Funkcije za rad sa datumom i vremenom
• Funkcije za rad sa znakovima
• Ostatak funkcija možete pogledati na sljedećem linku
•http://msdn.microsoft.com/en-us/library/ms174318.aspx
Skalarne
funkcije –
Matematičke
funkcije

• Matematičke funkcije osim RAND su determinističke


Skalarne funkcije –
Matematičke
funkcije - Primjer
Skalarne
funkcije –
Funkcije za rad
sa datumima

• Funkcije za rad sa datumom i


vremenom
Skalarne funkcije –
Funkcije za rad sa
datumima- Primjer
Skalarne
funkcije –
Funkcije za rad
sa znakovima

• Funkcije za rad sa znakovima rade operacije na


znakovima, a kao rezultat vraćaju znakove ili cijeli
broj
Skalarne funkcije –
Funkcije za rad sa
znakovima- Primjer
Agregatne funkcije

• Agregatne funkcije rade izračune na zadanom skupu redaka i od više vrijednosti računaju jednu
vrijednost
• ISO standard definira sljedeće agregatne funkcije:
• AVG
• COUNT
• MAX
• MIN
• SUM
• Navedene funkcije su dostupne u svakom DBMS-u, a osim njih može sadržavati i neke svoje
• Naziv rezultantne vrijednosti nije definiran operacijom agregiranja, stoga se mora
preimenovati (AS operator)
Agregatne
funkcije

• Agregatna funkcija COUNT() ima specifično ponašanje


-COUNT(stupac) će vratiti broj redaka koji nemaju NULL vrijednost
upisanu u stupac
–COUNT(*) će vratiti ukupni broj redaka računajući i NULL
vrijednosti
Agregatne funkcije-
Primjer
Agregatne funkcije - NULL vrijednosti

• Većina agregatnih funkcija ignorira NULL vrijednosti


• SELECT AVG(neki_broj) FROM tablica
• Računat će samo aritmetičku sredinu upisanih brojeva, one sa NULL vrijednostima
jednostavno ignorira
• U nekim slučajevima želimo računati i s NULL vrijednostima
• NULL vrijednost se treba pretvoriti u neku vrijednost primjerice u 0 (nula), za što
možemo koristiti sistemsku funkciju ISNULL
• ISNULL(stupac, vrijednost)
• Ako u stupcu piše vrijednost NULL funkcija će vratiti vrijednost
• Ako u stupcu ne piše NULL funkcija vraća vrijednost stupca

You might also like