You are on page 1of 7

ISG Tunis Base Des Donnes : TD

2me LFIG (G03 et G10) Bayoudhi Chaouki

SQL Oracle -Oprateurs et Fonctions-

Les oprateurs :
Les oprateurs arithmtiques :
() +-*/

Permet d'valuer en priorit les oprateurs entre parenthses Signe ngativement une expression numrique Addition, soustraction, multiplication, division

Les oprateurs sur les chanes de caractres :


||

concatnation de chanes de caractres

Les oprateurs divers :


(+) count(*) count(exp) distinct

Utilis en jointure externe. La colonne suffixe de cet oprateur est une cl trangre. Nombre d'enregistrements retourns par la slection. Nombre d'enregistrements retourns par la slection, pour lesquels exp n'a pas une valeur NULL. Elimine les doublons de l'expression qui suit distinct au niveau du rsultat afficher.

Les fonctions :
Les fonctions numriques : x et y reprsentent des donnes de type numrique ou des expressions ayant une donne rsultante de type numrique.

Syntaxe
ABS(x) CEIL(x)

Signification
Valeur absolue de X Le plus petit entier relatif suprieur ou

Exemple
ABS(-45.2)=45.2 CEIL(51.5)=52 CEIL(-51.5)=-51

A.U : 2012-2013 (Semestre 1)

ISG Tunis Base Des Donnes : TD gal x.


FLOOR(x) MOD(x, y) POWER(x, y) SIGN(x)

2me LFIG (G03 et G10) Bayoudhi Chaouki

Le plus grand entier relatif infrieur ou gal x. Le reste de la division de x par y x la puissance y Indique le signe de x

FLOOR(4.7)=4 FLOOR(-4.7) =-4 MOD(43, 4) = 3 POWER(2, 3) = 8 SIGN(0)=0; SIGN(-5)= -1; SIGN(5)=1 SQRT(25)=5

SQRT(x)

Racine carre de x SQRT(-25) renvoie une erreur ROUND(15.3)=15 ROUND(15.5)=16 ROUND(1500,-3)=2000 ROUND(1499,-3)=1000 ROUND(1.55,1)=1.6 ROUND(1.551,2)=1.55 TRUNC(15.3)=15 TRUNC(1500,-3)=1000 TRUNC(1499,-3)=1000 TRUNC(1.55,1)=1.5 TRUNC(1.551,2)=1.55

ROUND(x)

Arrondi de x (Partie entire)

ROUND(x, y)

Arrondi de x 10

TRUNC(x)

x tronqu 100 (limine la partie dcimale : les chiffres aprs la virgule)

TRUNC(x, y)

x tronqu 10

Les fonctions de groupe :


AVG(exp) MAX(exp) MIN(exp) STDDEV(exp) SUM(exp) VARIANCE(exp)

Moyenne de toutes les valeurs de exp Valeur maximale de toutes les valeurs de exp Valeur minimale de toutes les valeurs de exp Ecart type de toutes les valeurs de exp Somme de toutes les valeurs de exp Variance de toutes les valeurs de exp

A.U : 2012-2013 (Semestre 1)

ISG Tunis Base Des Donnes : TD

2me LFIG (G03 et G10) Bayoudhi Chaouki

Les fonctions sur les chanes de caractres :


Les fonctions retournant une valeur numrique :
ASCII(ch) INSTR(ch1, ch2, n, m)

Donne la valeur ASCII du premier caractre de la chane de caractres ch. Recherche dans la chane de caractres ch1 la position de la chane de caractres ch2. n et m sont optionnels. Si n est prcise, la recherche se fait partir de la position n. Si m est prcis, la recherche donne la position de la mime occurrence de ch2 dans ch1. Si m est prcise, il est obligatoire de prciser n.

ASCII('(')=40 ASCII('a')=97 INSTR('Contentement','t')=4 INSTR('Dtermination','i',8)=11 INSTR('Contentement','t',1,5)=0

LENGTH(ch)

Donne la longueur de la chane de caractres ch.

LENGTH('abcdabcd')=8

Les fonctions retournant une valeur alphanumrique :


CHR(n)

Caractre ayant la valeur ASCII de n (Conversion dun nombre (vu comme code ACII) en caractre)

CHR(65) = 'A' CHR(97)='a' CHR(40)='('

INITCAP(ch)

La premire lettre de chaque mot de la chane de caractres est mise en majuscule, toutes les autres lettres sont mises en minuscules. Toutes les lettres sont mises en minuscules Toutes les lettres sont mises en majuscules. Fait prcder la chane de caractres ch1 par la chane de caractres ch2 jusqu

INITCAP('insTiTuT suPerieur de gesTion')= Institut Superieur De Gestion LOWER(' insTiTuT')= institut UPPER('institut')= INSTITUT LPAD('Abcd', 9,'*')= *****Juin LPAD('Juin',2,'*)='Ju'

LOWER(ch) UPPER(ch) LPAD(ch1, n, ch2)

A.U : 2012-2013 (Semestre 1)

ISG Tunis Base Des Donnes : TD obtenir une longueur gale n. Si ch2 est non spcifie alors le systme prend comme valeur de ch2 un espace. Si n est infrieur longueur de ch1, alors celle-ci sera tronque la longueur n.
RPAD(ch1, n, ch2)

2me LFIG (G03 et G10) Bayoudhi Chaouki

Fait suivre la chane de caractres ch1 par RPAD('Abcd, 9,'*')= Abcd***** la chane caractre ch2. RPAD('Juin',2,'*')= 'Ju' Si ch2 est non spcifie alors le systme prend comme valeur de ch2 un espace. Si n est infrieur la longueur de ch1, alors celle-ci sera tronque la longueur n.

LTRIM(ch1, ch2)

Supprime du dbut de la chane de LTRIM('*****Abcd','*')= Abcd caractres ch1 les caractres prsents dans la chane de caractre ch2 jusqu' ce TRIM('Mars','Ma')= rs que plus aucun caractre de ch2 ne LTRIM('MaMaMasqr','Ma')= sqr dbute ch1. Supprime de la fin de la chane de RTRIM('Juin*****','*')= 'Juin' caractres ch1 les caractres prsents TRIM('Juin','in')='Ju' dans la chane de caractre ch2 jusqu' ce RTRIM('Juiniinnnii','in')='Ju' que plus aucun caractre de ch2 ne termine ch1. Remplace dans la chane de caractres ch1 la chane de caractres ch2 par la chane de caractres ch3. REPLACE('1.235.256,45','.',' :')='1:235:256,45' REPLACE('ABBABAAAB','AB' ,'C')=''CBCAAC'

RTRIM(ch1, ch2)

REPLACE(ch1, ch2, ch3)

SUBSTR(ch1, n, m)

Extrait de la chane de caractres ch1, les SUBSTR('Respect',4)='pect' caractres situs partir du rang n jusqu' SUBSTR('Respect',4,2)='pe' la longueur m, ou jusqu' la fin si m non spcifi. Remplace dans la chane de caractres ch1 les caractres prsents dans la chane de caractre ch2 par les caractres de mme rang prsents dans la chane de caractres ch3. TRANSLATE('1.235.256,45','.,',' ,')='1 235 256.45' TRANSLATE ('Satisfaction','sa','*')='Sti*fction'

TRANSLATE(ch1, ch2 , ch3)

A.U : 2012-2013 (Semestre 1)

ISG Tunis Base Des Donnes : TD

2me LFIG (G03 et G10) Bayoudhi Chaouki

Les fonctions sur les dates :


ADD_MONTHS(date, n) Ajout de n mois la date. LAST_DAY(date) MONTHS_BETWEEN (date1, date2)

ADD_MONTHS('08-09-11',2) = 08-11-11 LAST_DAY('15-FEV-93')='28FEV-93'

Indique le dernier jour du mois de date.

Nombre de mois entre date1 et date2. La MONTHS_BETWEEN('26-JUNpartie dcimale est obtenue en divisant le 90','25-DEC-93')=40,967742 MONTHS_BETWEEN('26-JUNnombre de jours par 31. 90','26-DEC-89')=-6 Date postrieure la date d du jour j. Arrondi de la date au format spcifi. Si format non spcifi, arrondi au jour le plus proche. NEXT_DAY('12-DEC-93', 'MERCREDI')='15-DEC-93' ROUND(TO_DATE('30-JUN93'),'Y')='01-JAN-93 ROUND(TO_DATE('01-JUL93'),'Y')='01-JAN-94' ROUND( TO_DATE('15-12-93 12:00:00','DD-MM-YY HH:MI:SS')) = '16-DEC-93' ROUND(TO_DATE('15-12-93 11:59:59','DD-MM-YY HH:MI:SS')) ='15-DEC-93' TRUNC(TO_DATE('01-JUL93'),'Y')='01-JAN-93' TRUNC( TO_DATE('15-12-93 12:00:00','DD-MM-YY HH:MI:SS')) ='15-DEC-93' TRUNC(TO_DATE('15-1293'),'MM')='01-DEC-93'

NEXT_DAY(d,j) ROUND(date[,format])

TRUNC(date[,format])

Date tronque au format spcifi. Si format non spcifi, arrondi au jour.

Formats des fonctions TRUNC et ROUND pour les dates : CC, SCC YYYY, SYYYY, YEAR, SYEAR, YYY, YY, Y Q MONTH, MON, MM WW W Arrondi ou tronqu au sicle. Arrondi ou tronqu l'anne. Changement d'arrondi partir du 1er juillet. Arrondi ou tronqu au trimestre. Changement d'arrondi partir du 16 du 2me mois. Arrondi ou tronqu au mois. Changement d'arrondi partir du 16me jour. Arrondi ou tronqu la semaine dans l'anne. Arrondi ou tronqu la semaine dans le mois.

A.U : 2012-2013 (Semestre 1)

ISG Tunis Base Des Donnes : TD DDD, DD, J DAY, DY, D HH, HH12, HH24 MI

2me LFIG (G03 et G10) Bayoudhi Chaouki Arrondi ou tronqu au jour (Valeur par dfaut). Arrondi ou tronqu au dimanche le plus proche. Arrondi ou tronqu l'heure. Arrondi ou tronqu la minute.

Fonctions de conversion :
TO_NUMBER(chane) TO_CHAR(expr[,format])

Conversion d'une chane en nombre.

TO_NUMBER('025')=25

Conversion d'une expression de type date TO_CHAR(SYSDATE,'DDou numrique en chanes de caractres. MM-YY')= '01-01-94' Conversion d'une chane de caractres en date. TO_DATE('01-01-94', 'WW')=1

TO_DATE(chane[, format])

Rsum des conversions classiques par type : Type en entre Type en sortie
CHAR DATE NUMBER CHAR DATE NUMBER

TO_DATE TO_CHAR TO_CHAR TO_DATE

TO_NUMBER Invalide

Fonctions diverses :
DECODE ( expr, val1, rs1 [, val2, rs2] [...,...] [, dfaut] )

compare expr chaque valeur vali une par une. Si expr est gale lune des vali, Oracle retourne le rsultat correspondant resi. Si rien n'est trouv alors c'est default qui est retourn. Si default n'est pas spcifi alors Oracle retourne NULL.

SELECT empno, DECODE(Loc, 10, 'NEWYORK', 20, 'DALLAS', 30, 'CHICAGO', 40, 'BOSTON', 'Inconnu') as Ville de travaille from emp;

A.U : 2012-2013 (Semestre 1)

ISG Tunis Base Des Donnes : TD


NVL ( expr1, expr2 )

2me LFIG (G03 et G10) Bayoudhi Chaouki NVL(Comm,0) = 0 (si Comm=NULL)

Retourne la valeur de expr2 si expr1 est de valeur NULL, retourne la valeur de expr1 sinon. expr2 et expr1 doivent tre de mme type Identificateur de l'utilisateur courant Utilisateur courant

UID

SELECT UID FROM DUAL ; Donne par exemple la valeur 5.

USER

SELECT USER FROM DUAL ; Donne la valeur System

VSIZE (exp)

renvoie la taille physique (en bytes) de la donne

SELECT Vsize(a) FROM DUAL ; Donne 1 SELECT Vsize(653) FROM DUAL; Donne 3

A.U : 2012-2013 (Semestre 1)

You might also like