Documente Academic
Documente Profesional
Documente Cultură
Curs
1
Funcţii pentru numere
ABS
Returnează valoarea absolută a unei expresii;
Dacă expresia este NULL, se returnează NULL; dacă
expresia este –infinit, se returnează infinit;
CEIL
Returnează cel mai mic număr întreg mai mare sau
egal cu expresia
SELECT SUM(commission_pct) from employees;
7.8
SELECT CEIL(SUM(commission_pct)) from employees;
8
2
Funcţii pentru numere
FLOOR
Returnează cel mai mare număr întreg egal, sau mai
mic decât expresia
SELECT SUM(commission_pct) from employees;
7.8
SELECT FLOOR(SUM(commission_pct)) from employees;
7
MOD
Returnează restul împărțirii unui număr întreg la alt număr
întreg
Dacă al doilea număr este 0, este returnat primul număr
Dacă vreuna dintre expresii este NULL, se returnează NULL
3
Funcţii pentru numere
MOD
M N MOD(M,N)
11 3 2
11 -3 2
-11 3 -2
-11 -3 -2
4
Funcţii pentru numere
POWER
Returnează baza ridicată la o anumită
putere
Dacă baza este negativă, atunci exponentul
trebuie să fie număr întreg
SELECT commission_pct from employees WHERE
employee_id=145;
.4
SELECT POWER(commission_pct,2) from employees
WHERE employee_id=145;
.16
5
Funcţii pentru numere
ROUND
Returnează expresia rotunjită, având un
anumit număr de caractere la dreapta virgulei
ROUND(expresia1[,expresia2])
Dacă se utilizează un singur parametru – vom
avea zero cifre după virgulă
ROUND(15.555,2)-15.56
ROUND(15.555,-1)-20
la float sau double, valoarea este rotunjită la
cea mai apropiată valoare pară
6
Funcţii pentru numere
TRUNC
Returnează expresia trunchiată, având un
anumit număr de caractere la dreapta
virgulei
TRUNC(expresia1[,expresia2])
Dacă se utilizează un singur parametru –
vom avea zero cifre după virgulă
TRUNC(15.555,2)-15.55
TRUNC(15.555,-1)-10
7
Funcţii pentru numere
SIGN
Returnează semnul expresiei
Valori întregi:
-1 când valoarea e negativă;
+1 când valoarea e pozitivă;
0 când valoarea e nulă.
Valori float
-1 la valori negative;
+1 la valori egale sau mai mari decât 0, sau NaN.
SQRT
Returnează rădăcina pătrată a unui număr
Dacă expresia e negativă - NaN
8
Funcţii pentru şiruri de
caractere
(N)CHAR
Returnează caracterul care are valoarea specificată ca şi parametru
CHAR(65)-A
CHAR(67)-C
CONCAT
Concatenează două şiruri de caractere
LOWER şi UPPER
Realizează convertirea în şiruri de caractere scrise cu minuscule,
respectiv, majuscule
(R)LPAD
Returnează o expresie aliniată dreapta, având în stânga ei alte
caractere date de un alt parametru al funcţiei
SELECT LPAD(last_name, 10,’.’) FROM employees;
LENGHT
Lungimea unui șir de caractere
9
Funcţii pentru şiruri de
caractere
(R)LTRIM
Elimină din partea stângă a unei expresii toate caracterele
conținute în cea de-a doua expresie
LTRIM ('xxxyyyxyxyLTRIM Example', 'xy')-LTRIM Example
REPLACE
Înlocuiește o secvență de caractere într-un șir dat cu un alt set de
caractere, sau elimină secvența cu totul
REPLACE(șirul, secvența[,noul șir])
SUBSTR
Returnează un șir care reprezintă un substring al șirului sursă
SUBSTR(sursa,m,n)
Daca ABS(m)> lungimea șirului va rezulta NULL
Dacă n este ignorat, sunt afișate toate caracterele de la poziția m
Dacă m negativ-numărarea începe de la sfârșitul sursei
10
Funcţii pentru şiruri de
caractere
TRIM
Elimină toate caracterele conținute la început şi/sau sfârșit de șir
TRIM ( LEADING|TRAILING|BOTH Trim_character FROM
Expression)
TRIM ( LEADING|TRAILING|BOTH FROM Expression)
TRIM (Trim_character FROM Expression)
TRIM ( Expression)
ASCIISTR
Returnează versiunea ASCII a stringului din baza de date a
seturilor de caractere
INSTR
Determină prima poziție pe care apare un substring într-un string
INSTR ('Washington', 'ing')-5
11
Funcţii pentru date
calendaristice
ADD_MONTHS
Returnează data obținută prin adunarea la o dată a unui număr de
luni
ADD_MONTHS (DATE '2016-01-31', 1)
2016-02-29 00:00:00
EXTRACT
Extrage și returnează o valoare dintr-o dată
EXTRACT(YEAR FROM hire_date)
MONTHS_BETWEEN
Returnează numărul de luni dintre două date
MONTHS_BETWEEN(DATE '1995-02-02', DATE '1995-01-01')
1.03225806451613
MONTHS_BETWEEN(DATE '2010-02-02', DATE '2010-10-01')
-7.96774193548387
12
Funcţii pentru date
calendaristice
NUMTODSINTERVAL
Convertește un număr sau expresie în intervale ZI, ORĂ, MINUT,
SECUNDĂ
NUMTODSINTERVAL(150,'DAY')
+000000150 00:00:00.000000000
NUMTOYMINTERVAL
Identic cu cazul de mai sus
Se aplică numai pentru Y și M
ROUND(date)
Returnează data rotunjită la unitatea specificată în format
Dacă nu e specificat formatul , data e rotunjită la următoarea zi
ROUND (DATE '2007-08-25','YEAR')- 2008-01-01 00:00:00
ROUND (TIMESTAMP '2007-08-16 13:00:00')- 2007-08-17
00:00:00
13
Funcţii pentru date
calendaristice
SYSDATE și GETDATE()
Returnează data în formatul YYYY-MM-DD HH:MI:SS
Valoarea reprezintă data și timpul local al sistemului
TIMESTAMPADD
Adună un număr de intervale la timestamp și returnează
timestamp-ul modificat
SQL_TSI_FRAC_SECOND, SQL_TSI_SECOND, SQL_TSI_MINUTE,
SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK,
SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR
TIMESTAMPADD (SQL_TSI_MONTH, 3, TIMESTAMP '2010-11-30
10:00:00') - 2011-02-28 10:00:00
TIMESTAMPADD (SQL_TSI_SECOND, 1, TIMESTAMP '2010-12-31
23:59:59') - 2011-01-01 00:00:00
14
Funcţii pentru date
calendaristice
TIMESTAMPDIFF
Specifică un număr de intervale dintre două timestampuri
TIMESTAMPDIFF (SQL_TSI_MONTH, DATE '2009-02-01', DATE
'2009-03-01') – 1
TIMESTAMPDIFF (SQL_TSI_DAY, DATE '2009-02-01', DATE '2009-
03-01') – 28
TRUNC(date)
Returnează data trunchiată în funcție de format
TRUNC (TO_DATE ('27-OCT-92','DD-MON-YY'),'YEAR') - 2092-01-
01 00:00:00
15
REGEXP_LIKE
WHERE REGEXP_LIKE(Prenume,’I’)-numele începe cu I
WHERE REGEXP_LIKE(Prenume,’^I(o|oa)n(|a)$’)-
numele poate fi Ion, Ioan, Ioana, Iona
WHERE REGEXP_LIKE(Adresa,’Bl.\w\d’)-adresa este de
forma Bl.o literă și o cifră
WHERE REGEXP_LIKE(Adresa,’Bl.[A-Z][0-9]’)-adresa
este de forma Bl.o literă și o cifră
16