Documente Academic
Documente Profesional
Documente Cultură
___________________________________________________________________________
Funcţii de tip single-row (sau scalare). O funcţie single-row întoarce un singur rezultat
pentru fiecare rând al tabelei interogate sau view
Funcţii de grup (sau agregate). O funcţie de grup întoarce un singur rezultat pentru un
grup de rânduri interogate. Funcţiile de grup pot apare în clauza HAVING.
FUNCTII SINGLE-ROW
…………………………
…………………………
…………………………
1
BAZE DE DATE – SEMINAR 6
___________________________________________________________________________
Funcţia SYSDATE
9. Să se afişeze comenzile, data încheierii comenzilor, numărul de luni între data curentă
şi data încheierii, următoarea zi de vineri după data încheierii, ultima zi din luna din
care face parte data încheierii, precum şi data corespunzătoare după 2 luni de la data
încheierii comenzii
…………………………
11. Să se afişeze comenzile incheiate in 2000. Se va rotunji data încheierii la prima zi din
luna corespunzătoare dacă data încheierii este în prima jumatate a lunii sau la prima zi din
luna următoare:
2
BAZE DE DATE – SEMINAR 6
___________________________________________________________________________
Funcţii de conversie
Funcţia TO_CHAR
Funcţia TO_DATE
Funcţia EXTRACT()
3
BAZE DE DATE – SEMINAR 6
___________________________________________________________________________
NVL2
17. Sa se afiseze angajatii care au comision (1) si pe cei care nu au comision (0).
SELECT nume, NVL2(comision, 1, 0)
FROM angajati;
NULLIF
18. Sa se afiseze lungimea numelui, lungimea prenumelui, daca acestea sunt egale sa se
returneze nul ca rezultat, iar daca nu sunt egale se va returna lungimea numelui.
SELECT nume, LENGTH(nume), prenume, LENGTH(prenume),
NULLIF(LENGTH(nume), LENGTH(prenume)) rezultat
FROM angajati;
COALESCE
19. Sa se afiseze id-ul managerului fircarui angajat, daca acesta este nul, se va afisa
comisionul, iar daca si acesta este nul se va afisa -1.
SELECT nume, prenume, COALESCE(id_manager,commission,-1)
FROM angajati;
FUNCŢII DE GRUP
4
BAZE DE DATE – SEMINAR 6
___________________________________________________________________________
Exemple:
1. Să se afişeze valoarea maximă, valoarea medie, valoarea minimă şi valoarea totală a
produselor comandate:
…………………………
2. Să se afişeze data primei comenzi încheiate şi data celei mai vechi comenzi încheiate:
…………………………
3. Să se afişeze numărul de produse al căror pret_min>350:
…………………………
…………………………
…………………………
…………………………
…………………………
8. Să se afişeze produsele şi cantitatea medie vândută numai pentru acele produse a căror
cantitate medie este mai mare de 25 (conditia se specifica in clauza HAVING si nu in
clauza WHERE deoarece este utilizata functia de grup AVG si conditia este
AVG(cantitate)>25).
…………………………
…………………………
10. Sa se afiseze numai comenzile care au valoarea cuprinsa intre 1000 si 3000 (conditia
va fi mentionata in clauza HAVING deoarece se utilizeaza functia de grup SUM):
…………………………