This shows you the differences between two versions of the page.
bd:laboratoare:06 [2019/03/24 22:34] fbratiloveanu [Laborator 06 - Funcții SQL (I)] |
bd:laboratoare:06 [2022/05/02 10:57] (current) sorin.ciolofan [Funcții pentru șiruri de caractere] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Laborator 06 - Funcții SQL (I) ====== | ====== Laborator 06 - Funcții SQL (I) ====== | ||
- | ==== Obiective ==== | + | ===== Obiective ===== |
* Funcții pentru valori numerice | * Funcții pentru valori numerice | ||
Line 7: | Line 7: | ||
* Funcții pentru date calendaristice | * Funcții pentru date calendaristice | ||
| | ||
- | ==== Materiale ajutătoare ==== | + | ===== Materiale ajutătoare ===== |
[[bd:resurse:tables|Resurse BD]] | [[bd:resurse:tables|Resurse BD]] | ||
- | ===== Funcții numerice ===== | + | |
+ | ===== Funcții SQL ===== | ||
**Descriere**\\ | **Descriere**\\ | ||
Line 32: | Line 33: | ||
* Funcții de diverse (care acceptă orice tip de argument) | * Funcții de diverse (care acceptă orice tip de argument) | ||
* Funcții de grup | * Funcții de grup | ||
+ | |||
+ | Documentație [[https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Functions.html#GUID-D079EFD3-C683-441F-977E-2C9503089982|External Link]] | ||
===== Funcții pentru valori numerice ===== | ===== Funcții pentru valori numerice ===== | ||
Line 43: | Line 46: | ||
|**SINH(n)** |returnează sinus hiperbolic de n | | |**SINH(n)** |returnează sinus hiperbolic de n | | ||
|**COSH(n)** |returnează cosinus hiperbolic de n | | |**COSH(n)** |returnează cosinus hiperbolic de n | | ||
- | |**STANH(n)** |returnează tangenta hiperbolică de n | | + | |**TANH(n)** |returnează tangenta hiperbolică de n | |
|**ASIN(n)** |returnează arcsinus de n | | |**ASIN(n)** |returnează arcsinus de n | | ||
|**ACOS(n)** |returnează arccosinus de n | | |**ACOS(n)** |returnează arccosinus de n | | ||
Line 49: | Line 52: | ||
|**SIGN(n)**| returnează -1 dacă n<0, 0 dacă n=0, 1 dacă n>0| | |**SIGN(n)**| returnează -1 dacă n<0, 0 dacă n=0, 1 dacă n>0| | ||
|**ABS(n)** | returnează valoarea absolută a lui n| | |**ABS(n)** | returnează valoarea absolută a lui n| | ||
- | |**CEIL(n)** | returnează cel mai mic întreg>=n| | + | |**CEIL(n)** | returnează cel mai mic întreg''>''''=''n| |
- | |**FLOOR(n)** | returnează cel mai mare întreg<=n| | + | |**FLOOR(n)** | returnează cel mai mare întreg''<''''=''n| |
|**EXP(n)** | returnează e la puterea n| | |**EXP(n)** | returnează e la puterea n| | ||
|**POWER(m,n)** | returnează m la puterea n| | |**POWER(m,n)** | returnează m la puterea n| | ||
Line 62: | Line 65: | ||
**Exemple** | **Exemple** | ||
- | {{:bd:laboratoare:lab_6_functii_numerice.png?direct&400}} | + | {{:bd:laboratoare:lab_6_functii_numerice_corect.png?direct&400}} |
===== Funcții pentru șiruri de caractere ===== | ===== Funcții pentru șiruri de caractere ===== | ||
Line 77: | Line 80: | ||
|**CHR(n)** |returnează caracterul care are reprezentarea decimală n| | |**CHR(n)** |returnează caracterul care are reprezentarea decimală n| | ||
|**CONCAT(str1, str2)** |returnează concatenarea lui str1 cu str2| | |**CONCAT(str1, str2)** |returnează concatenarea lui str1 cu str2| | ||
- | |**INITCAP(str)** |returnează fiecare cuvânt din șirul de caractere str cu majuscule| | + | |**INITCAP(str)** |converteste fiecare prima litera a fiecarui cuvânt din str la litera mare iar restul de litere la litere mici| |
|**REPLACE(str, strOld, strNew)**|înlocuiește în șirul de caractere str subșirul de caractere strOld cu subșirul de caractere strNew| | |**REPLACE(str, strOld, strNew)**|înlocuiește în șirul de caractere str subșirul de caractere strOld cu subșirul de caractere strNew| | ||
|**RPAD(str1, n[,str2])** |adaugă la dreapta lui str1 caracterele din str2 până la lungimea n iar dacă str2 lipseșe adaugă spațiu| | |**RPAD(str1, n[,str2])** |adaugă la dreapta lui str1 caracterele din str2 până la lungimea n iar dacă str2 lipseșe adaugă spațiu| | ||
Line 99: | Line 102: | ||
<note important>Toate funcțiile de tip dată calendaristică întorc o valoare de tip DATE, cu excepția funcției MONTHS_BETWEEN care întoarece o valoare numerică.</note> | <note important>Toate funcțiile de tip dată calendaristică întorc o valoare de tip DATE, cu excepția funcției MONTHS_BETWEEN care întoarece o valoare numerică.</note> | ||
- | Funcțiile ROUND și TRUNC (la fel ca și funcțiile TO_DATE, TO_CHAR) recunosc mai multe tipuri de formatare, printre care: | + | Funcțiile ROUND și TRUNC [[https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROUND-and-TRUNC-Date-Functions.html#GUID-8E10AB76-21DA-490F-A389-023B648DDEF8|Link]] (la fel ca și funcțiile TO_DATE, TO_CHAR) recunosc mai multe tipuri de formatare, printre care: |
* CC, SCC – pentru secol | * CC, SCC – pentru secol | ||
* SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y – pentru an | * SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y – pentru an | ||
Line 162: | Line 165: | ||
{{:bd:laboratoare:lab_6_schimbare_data_sesiune.png?direct&500}} | {{:bd:laboratoare:lab_6_schimbare_data_sesiune.png?direct&500}} | ||
+ | |||
+ | ===== Exercitiu individual ===== | ||
+ | Pentru angajatii ce au numele de lungime 4, faceti o lista cu: | ||
+ | * numele angajatului scris cu litere mari | ||
+ | * ziua in care s-au angajat | ||
+ | * denumirea departamentului in care lucreaza scrisa cu litere mici | ||
+ | * initiala numelui sefului | ||