You are on page 1of 4

Unitatea de învăţare: Programare SQL

Tema: Functii pentru siruri de caractere


Tipul lecţiei: - Lecţie de transmitere şi asimilare de noi cunoştinţe
Locul de desfasurare: Laboratorul de informatica
Timpul acordat: 50 minute
Competenţe specifice :
1.4. Utilizarea funcţiilor specifice de prelucrare a datelor structurate
2.1. Identificarea tehnicilor de programare adecvate rezolvării unei probleme şi
aplicarea creativă a acestora
3.1. Utilizarea instrumentelor de dezvoltare a unei aplicaţii
Obiective operaţionale:
- să identifice functiile pentru siruri de caractere
- sa aplice si sa aleaga metode de rezolvare conform cerintelor
Metode si procedee : conversatia frontală, algoritmizarea, problematizarea,
explicaţia, metoda exerciţiului, verificare individuală
Tipuri de activitate: frontală şi individual
Forme de dirijare a învăţării: dirijată de profesor, dirijată de elev sau independentă
Mijloace didactice :calculatorul, tabla, creta, portofolii individuale ale elevilor
Metode de evaluare: va fi evaluată întreaga activitate de prezentare a elevului:
portofoliul în sine, alegerea unei probleme cu un anumit nivel de dificultate din fisa de
lucru, aprecierile colegilor, propria apreciere.
Desfăşurarea lecţiei:
1. Moment organizatoric (10 min.):
o Organizarea şi pregătirea clasei: - verificarea frecvenţei;
o Captarea atenţiei clasei:
- anunţarea subiectului pentru tema respectivă;
- anunţarea obiectivelor urmărite;
- anunţarea modului de desfăşurare a activităţii;
2. Reactualizarea cunoştinţelor (10 min.):
Profesorul realizează reactualizarea cunoştinţelor printr-un set de întrebări :
 Care sunt functiile numerice?
 Ce va afisa comanda:
1.SELECT round(745.121,2), round(745.127, 2), round(745.126, -2), round(745.126,
-3),round(745.126) FROM dual
2.SELECT trunc(745.121,2), trunc(745.127, 2), trunc(745.126, -2), trunc(745.126,
-3), trunc(745.126) FROM dual
3. SELECT ceil(5), ceil(-5), ceil(5.8), ceil(-5.8) FROM dual

4. SELECT floor(5), floor(-5), floor(5.8), floor(-5.8) FROM dual

3. Predarea noilor cunostinţe (25 min)


Tipuri de funcții
Funcțiile Oracle sunt împărțite astfel:
- Funcții singulare – acestea operează la un moment dat asupra unei singure
înregistrări
- Funcții de grup – operează asupra unui grup de înregistrări și returnează o
singură valoare pentru întregul grup
Funcțiile singulare pot fi folosite în clauza SELECT, WHERE, ORDER BY.
Tabela DUAL
Pentru a testa modul de operare a funcțiilor singulare vom folosi tabela DUAL, care
este o tabelă specială, care conține o singură coloană numită DUMMY și o singură
linie.
Tabela DUAL se folosește atunci când realizăm calcule sau evaluăm expresii care
nu derivă din nicio tabelă anume.
 Funcții asupra șirurilor de caractere
Șirurile de caractere pot conține orice combinație de litere, numere, spații și alte
simboluri, precum semne de punctuație, sau caractere speciale. În Oracle există două
tipuri de date pentru memorarea șirurilor de caractere:
- CHAR – pentru memorarea șirurilor de caractere de lungime fixă
- VARCHAR2 – pentru memorarea șirurilor de caractere de lungime variabilă
- LOWER(șir) - forțează caracterele alfanumerice care sunt scrise cu litere mari
sau mixte în caractere scrise cu litere mici.
- UPPER(șir) – forțează caracterele alfanumerice care sunt scrise cu litere mici ,
sau o combinație de litere mici și mari în caractere scrise cu litere mari.
- Exemplu:
SELECT LOWER('Invatam Prin Exemple') sir1, UPPER('Invatam prin Exemple')
sir2 FROM dual
 INITCAP(șir) – forțează prima literă a fiecărui cuvânt în literă mare
Exemplu:
SELECT INITCAP('invatam prin exemple') sir FROM dual
 CONCAT(șir1,șir2) – concatenează șir1 și șir2 (Alternativa a operatorului ||)
Exemplu:
SELECT CONCAT('Popescu ', CONCAT('Ionela ','Cristiana')) AS "Cel mai bun elev“
FROM dual
sau
SELECT 'Popescu '|| 'Ionela ' || 'Cristiana' AS "Cel mai bun elev" FROM dual
 LPAD(șir1,n,șir2) - adaugă la șir1 spre stânga caractere din șir2 până ce șirul
obținut va avea lungimea totală n. Dacă șir2 e omis atunci se adaugă blancuri.
 RPAD(șir1,n,șir2) - adaugă la șir1 spre dreapta caractere din șir2 până ce șirul
obținut va avea lungimea totală n. Dacă șir2 e omis atunci se adaugă blancuri.
 SUBSTR(șir,poz,n) - întoarce un șir de lungime n caractere din șir, începând de
la poziția poz. Dacă n e omis, este extras șirul din poziția poz la sfârșit.
 REPLACE(șir,șir1,șir2) – înlocuiește toate aparițiile subșirului șir1 din șirul șir cu
șir2. Dacă șir2 e omis, toate aparițiile lui șir1 sunt șterse. Dacă sunt omise și șir1
și șir2 se semnalează eroare.
Exemplu:
SELECT SUBSTR('BunaZiua',5,4) sir1, REPLACE('BunaZiua','Ziua','Seara') sir2,
RPAD('BunaZiua',11,'*') sir3, LPAD('BunaZiua',12,'*') sir4 FROM dual
 LENGTH(șir) - întoarce numărul de caractere din șirul șir.
Exemplu:
SELECT LENGTH('Alba ca Zapada') lungime
FROM dual
 INSTR(șir,șir1,poz,n) – returnează poziția de început a celei de a n-a apariții a
șirului șir1 în șirul șir, căutarea începându-se cu poziția poz. Dacă parametrii poz
și n lipsesc, atunci se va returna poziția primei apariții a șirului șir1 în întregul șir
șir.
Exemplu:
SELECT INSTR('inregistrari','e') pozitia
FROM dual
 LTRIM (șir,c) - șterge de la stânga aparițiile caracterelor c. Dacă nu e specificat
nici un caracter șterge toate blancurile din stânga.
 RTRIM (șir,c) -șterge de la dreapta, aparițiile caracterelor c. Dacă nu e specificat
nici un caracter șterge toate blancurile din dreapta.
 TRIM(șir,c) - șterge de la ambele capete, aparițiile caracterelor c. Dacă nu e
specificat nici un caracter șterge toate blancurile.
Exemplu:
SELECT TRIM( BOTH '-' FROM '---Oracle--') sir1,
LTRIM ( '---Oracle--','-' ) sir2, RTRIM(‘---Oracle--','-') sir3
FROM dual
4.Realizarea feedback-ului (5 min)
Activitatea profesorului : confirma si apreciaza raspunsurile corecte si daca este
cazul, intervine cu explicatii suplimentare
Activitatea elevilor: retin aprecierile si explicatiile suplimentare
5.Momentul final: comunicarea temei pentru acasa

You might also like