Documente Academic
Documente Profesional
Documente Cultură
Chișinău 2018
1. Scopul lucrarii
Utilizarea funcțiilor de diverse tipuri pentru scrierea interogărilor.
2. Sarcina
1. Scrieți o interogare care afișează data curentă. Numiți această coloană Date.
2. Pentru fiecare angajat afișați pe ecran câmpurile Ang_ID, Nume, Salariu și Salariu Nou. Ultimul câmp conține
salariul majorat cu 15%.
3. Adăugați câmpul Diferență, care conține diferența dintre salariul nou și cel vechi.
4. Scrieți o interogare care afișează câmpul Nume, unde prima literă este mare, iar celelalte- mici și lungimea
numelui (câmpul Lungime) pentru angajații, numele cărora începe cu J, A sau M. Sortați angajații după nume.
5. Pentru fiecare angajat afișați pe ecran Nume и calculați numărul de luni de la data primirii la serviciu până la
data de azi și numiți-o LUNI_LUCRATE. Sortați datele după ultimul câmp. Rotunjiți numărul lunilor până la cel mai
apropiat număr întreg.
6. Scrieți o interogare care pentru fiecare înregistrare efectuează (numiți-o Salariu Visat):
<angajat.nume> primește lunar <salariul>, dar dorește <salariu de 3 ori mai mare>
7. Scrieți o interogare care afișează pe ecran câmpurile Nume și salariu pentru toți angajații. Formatați câmpul
Salariu, ca să fie format din 15 simboluri, completând simbolurile insuficiente cu simbolul $ în stânga. Numiți-l
SALARIU.
8. Pentru fiecare angajat afișați pe ecran câmpurile Nume, Dată_Ang și salariu modificat, care va arăta prima zi
de luni (Monday) după 6 luni de lucru. Numiți-l REVIZUIRE. Formatați data, ca să fie în formatul Monday, the
Thirty-First of July, 2000.
9. Afișați pe ecran câmpurile Nume, Dată_Ang și ziua săptămânii, în care angajatul a început a lucra la noi.
Numiți acest câmp ZI. Sortați rezultatele după zilele săptămânii, începând cu luni.
10. Scrieți o interogare, care afișează câmpurile Nume și Imp_Proc pentru angajați. Dacă la acesta nu este
completat impozitul, scrieți FĂRĂ IMPOZIT. Numiți-l IMPOZ.
11. Scrieți o interogare, care afișează câmpul Nume și salariul său anual cu steluțe (fiecare steluță înseamnă o mie
de dolari). Numiți-l ANGAJAȚII_ȘI_SALARIILE_LOR.
12. Utilizând funcția DECODE, scrieți o interogare, care arată calificarea fiecărui angajat, pe baza câmpului
Func_ID în modul următor (dacă la Dvs. sunt alte funcții, se permite de utilizat valorile Dvs.):
Funcție Calificare
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
None of the above 0
13. Scrieți aceiași interogare cu ajutorul instrucțiunii CASE.
3. Teorie
Exista doua tipuri de functii in SQL. Functii care manipuleaza un singur rand (single-row) si functii care manipuleaza un grup de
randuri (multiple-row).
Dual este o tabela care apartine user-ului SYS si poate fi accesata de toti utilizatorii. Afisarea datei curente folosind tabela dual :
Adunand sau scazand o valoare numerica dintr-o data calendaristica rezultatul va fi tot o data calendaristica. Deoarece tipul data
este stocat ca si tipul numeric, putem utiliza operatori aritmetici cum ar fi adunarea si scaderea. Putem aduna sau scadea un numar
dintr-o data.
Functii de conversie
De la La
VARCHAR2 sau CHAR NUMBER
VARCHAR2 sau CHAR DATE
NUMBER VARCHAR2
DATE VARCHAR2
Asignarea reuseste daca serverul Oracle poate converti tipul de date al valorii folosite in asignare la tipul variabilei
asignate.
Pentru evaluarea expresiilor Oracle poate converti automat urmatoarele tipuri de date:
De la La
VARCHAR2 sau CHAR NUMBER
VARCHAR2 sau CHAR DATE
In general, cand este necesara o conversie de tip de date, in locurile in care regulile de conversie folosite in asignari nu
pot fi folosite, serverul Oracle foloseste regulile pentru expresii.
4. Mersul lucrarii
ex.1 ex.2
ex.3
ex.4
ex.5
ex.6
ex.7 ex.8
ex.9
ex.10
ex.11
ex.12
-13
5. Concluzii
In lucrarea de laborator nr 3 am folosit functiile :CURDATE(), UPPER(), LOWER(), LENGTH(), LPAD(),
NULLIF(), REPLACE(), DATE(); ce amplifica restrictia și sortarea datelor: