La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Copyright Oracle Corporation, 1998. Tous droits réservés. 3 Fonctions Mono-Ligne.

Présentations similaires


Présentation au sujet: "Copyright Oracle Corporation, 1998. Tous droits réservés. 3 Fonctions Mono-Ligne."— Transcription de la présentation:

1 Copyright Oracle Corporation, Tous droits réservés. 3 Fonctions Mono-Ligne

2 3-2 Copyright Oracle Corporation, Tous droits réservés. Objectifs A la fin de ce chapitre, vous saurez : Décrire différents types de fonctions SQL Utiliser les fonctions caractère, numériques et date dans les ordres SELECT Expliquer les fonctions de conversion A la fin de ce chapitre, vous saurez : Décrire différents types de fonctions SQL Utiliser les fonctions caractère, numériques et date dans les ordres SELECT Expliquer les fonctions de conversion

3 3-3 Copyright Oracle Corporation, Tous droits réservés. Quest ce quune fonction ? Une fonction est une expression dun type de données spécifique qui fait partie dune instruction utilisée pour calculer une valeur.

4 3-4 Copyright Oracle Corporation, Tous droits réservés. Fonctions SQL FonctionEntrée arg 1 arg 2 arg n La fonction exécute une action SortieValeurrésultante

5 3-5 Copyright Oracle Corporation, Tous droits réservés. Deux Types de Fonctions SQL Fonctions Fonctionsmono-ligne Fonctionsmulti-ligne

6 3-6 Copyright Oracle Corporation, Tous droits réservés. Fonctions Mono-Ligne Manipulent des éléments de données Acceptent des arguments et ramènent une valeur Agissent sur chacune des lignes rapportées Ramènent un seul résultat par ligne Peuvent modifier les types de données Peuvent être imbriquées Manipulent des éléments de données Acceptent des arguments et ramènent une valeur Agissent sur chacune des lignes rapportées Ramènent un seul résultat par ligne Peuvent modifier les types de données Peuvent être imbriquées function_name (column|expression, [arg1, arg2,...])

7 3-7 Copyright Oracle Corporation, Tous droits réservés. Fonctions Mono-Ligne Conversion Caractère Numérique Date Générale Fonctionsmono-ligne

8 3-8 Copyright Oracle Corporation, Tous droits réservés. Fonctions Caractère Fonctioncaractère LOWERUPPERINITCAPCONCATSUBSTRLENGTHINSTR LPAD... Fonctions de conversion majuscules/minuscules Fonctions de manipulation des caractères

9 3-9 Copyright Oracle Corporation, Tous droits réservés. Fonctions de Conversion Majuscules/Minuscules Fonction LOWER('Cours SQL') UPPER('Cours SQL') INITCAP('Cours SQL') Résultat cours sql COURS SQL Cours Sql

10 3-10 Copyright Oracle Corporation, Tous droits réservés. Utilisation des Fonctions de Conversion Majuscules/Minuscules Afficher le matricule, le nom et le numéro de département de lemployé Blake. SQL> SELECTempno, ename, deptno 2 FROMemp 3 WHEREename = 'blake'; SQL> SELECTempno, ename, deptno 2 FROMemp 3 WHEREename = 'blake'; EMPNO ENAME DEPTNO BLAKE 30 EMPNO ENAME DEPTNO BLAKE 30 SQL> SELECTempno, ename, deptno 2 FROMemp 3 WHERE LOWER(ename) = 'blake'; no rows selected

11 3-11 Copyright Oracle Corporation, Tous droits réservés. CONCAT('Une', 'Chaîne') SUBSTR('Chaîne',1,3) LENGTH('Chaîne') INSTR('Chaîne', 'a') LPAD(sal,10,'*') UneChaîne Cha 6 3 ******5000 FonctionRésultat Fonctions de Manipulation des Caractères Manipulation de chaînes de caractères

12 3-12 Copyright Oracle Corporation, Tous droits réservés. Utilisation des Fonctions de Manipulation des Caractères SQL> SELECT ename, CONCAT (ename, job), LENGTH(ename), 2 INSTR(ename, 'A') 3 FROM emp 4 WHERE SUBSTR(job,1,5) = 'SALES'; ENAME CONCAT(ENAME,JOB) LENGTH(ENAME) INSTR(ENAME,'A') MARTIN MARTINSALESMAN 6 2 ALLEN ALLENSALESMAN 5 1 TURNER TURNERSALESMAN 6 0 WARD WARDSALESMAN 4 2

13 3-13 Copyright Oracle Corporation, Tous droits réservés. Fonctions Numériques ROUND :Arrondit la valeur à la précision spécifiée TRUNC :Tronque la valeur à la précision spécifiée MOD :Ramène le reste dune division ROUND(45.926, 2) TRUNC(45.926, 2) MODE(1600,300)MODE(1600,300)100100

14 3-14 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction ROUND Affichage de la valeur arrondie au centième, à 0 décimale et à la dizaine supérieure. SQL> SELECT ROUND(45.923,2), ROUND(45.923,0), 2 ROUND(45.923,-1) 3 FROM DUAL; ROUND(45.923,2) ROUND(45.923,0) ROUND(45.923,-1)

15 3-15 Copyright Oracle Corporation, Tous droits réservés. SQL> SELECT TRUNC(45.923,2), TRUNC(45.923), 2 TRUNC(45.923,-1) 3 FROM DUAL; TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-1) Utilisation de la Fonction TRUNC Affichage de la valeur tronquée au centième, à 0 décimale et à la dizaine.

16 3-16 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction MOD Calculer le reste de la division salaire par commission pour lensemble des employés ayant un poste de vendeur. SQL> SELECTename, sal, comm, MOD(sal, comm) 2 FROMemp 3 WHEREjob = 'SALESMAN'; ENAME SAL COMM MOD(SAL,COMM) MARTIN ALLEN TURNER WARD

17 3-17 Copyright Oracle Corporation, Tous droits réservés. Autres Fonctions Numériques ABS(x) :Valeur absolue de x CEIL(n) :Plus petit entier supérieur ou égal à n. SIGN(n) :Si n 0, 1. FLOOR(n) : Plus grand entier supérieur ou égal à n.

18 3-18 Copyright Oracle Corporation, Tous droits réservés. Utilisation des Dates Oracle stocke les dates dans un format numérique interne : siècle, année, mois, jour, heures, minutes, secondes. Le format de date par défaut est DD- MON-YY. La fonction SYSDATE ramène la date et lheure courante. DUAL est une table factice qu'on peut utiliser pour visualiser SYSDATE. Oracle stocke les dates dans un format numérique interne : siècle, année, mois, jour, heures, minutes, secondes. Le format de date par défaut est DD- MON-YY. La fonction SYSDATE ramène la date et lheure courante. DUAL est une table factice qu'on peut utiliser pour visualiser SYSDATE.

19 3-19 Copyright Oracle Corporation, Tous droits réservés. Opérations Arithmétiques sur les Dates Ajout ou soustraction dun nombre à une date pour obtenir un résultat de type date. Soustraction de deux dates afin de déterminer le nombre de jours entre ces deux dates. Ajout dun nombre dheures à une date en divisant le nombre dheures par 24. Ajout ou soustraction dun nombre à une date pour obtenir un résultat de type date. Soustraction de deux dates afin de déterminer le nombre de jours entre ces deux dates. Ajout dun nombre dheures à une date en divisant le nombre dheures par 24.

20 3-20 Copyright Oracle Corporation, Tous droits réservés. Utilisation dOpérateurs Arithmétiques avec les Dates SQL> SELECT ename, (SYSDATE-hiredate)/7 WEEKS 2 FROM emp 3 WHERE deptno = 10; ENAME WEEKS KING CLARK MILLER

21 3-21 Copyright Oracle Corporation, Tous droits réservés. Fonctions Date Nombre de mois situés entre deux dates MONTHS_BETWEEN(d1,d2) ADD_MONTHS(date, n) NEXT_DAY(date,char) LAST_DAY(date) ROUND(date [,fmt] ) TRUNC (date [,fmt] ) Ajoute des mois calendaires à une date Jour qui suit la date spécifiée Dernier jour du mois Arrondit une date Tronque une date FONCTIONDESCRIPTION

22 3-22 Copyright Oracle Corporation, Tous droits réservés. MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')MONTHS_BETWEEN ('01-SEP-95','11-JAN-94') Utilisation des Fonctions Date ADD_MONTHS ('11-JAN-94',6)ADD_MONTHS ('11-JAN-94',6) NEXT_DAY ('01-SEP-95','FRIDAY')NEXT_DAY ('01-SEP-95','FRIDAY') LAST_DAY('01-SEP-95')LAST_DAY('01-SEP-95') '11-JUL-94' '08-SEP-95' '30-SEP-95'

23 3-23 Copyright Oracle Corporation, Tous droits réservés. Utilisation des Dates Oracle stocke les dates dans un format numérique interne : siècle, année, mois, jour, heures, minutes, secondes. Le format de date par défaut est DD- MON-YY. La fonction SYSDATE ramène la date et lheure courante. DUAL est une table factice qu'on peut utiliser pour visualiser SYSDATE. Oracle stocke les dates dans un format numérique interne : siècle, année, mois, jour, heures, minutes, secondes. Le format de date par défaut est DD- MON-YY. La fonction SYSDATE ramène la date et lheure courante. DUAL est une table factice qu'on peut utiliser pour visualiser SYSDATE.

24 3-24 Copyright Oracle Corporation, Tous droits réservés. Fonctions de Conversion Conversion de types de données impliciteConversion de types de données explicite Conversion de types de données

25 3-25 Copyright Oracle Corporation, Tous droits réservés. Conversion de Types de Données Implicite Pour les affectations, Oracle effectue automatiquement les conversions suivantes VARCHAR2 ou CHAR DeVers VARCHAR2 ou CHAR NUMBER DATE NUMBER DATE VARCHAR2

26 3-26 Copyright Oracle Corporation, Tous droits réservés. Conversion de Types de Données Implicite Pour lévaluation dexpressions, Oracle effectue automatiquement les conversions suivantes VARCHAR2 ou CHAR DeVers VARCHAR2 ou CHAR NUMBER DATE

27 3-27 Copyright Oracle Corporation, Tous droits réservés. Conversion de Types de Données Explicite NUMBERCHARACTER TO_CHARTO_NUMBER DATETO_CHAR TO_DATE

28 3-28 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction TO_CHAR avec les Dates Le modèle de format : Doit être placé entre simples quotes et différencie les majuscules et minuscules. Peut inclure tout élément valide de format date Comporte un élément fm qui supprime les espaces de remplissage ou les zéros de tête Est séparé de la valeur date par une virgule Le modèle de format : Doit être placé entre simples quotes et différencie les majuscules et minuscules. Peut inclure tout élément valide de format date Comporte un élément fm qui supprime les espaces de remplissage ou les zéros de tête Est séparé de la valeur date par une virgule TO_CHAR(date, 'fmt')

29 3-29 Copyright Oracle Corporation, Tous droits réservés. YYYY Modèles de Format Date YEAR MM MONTH DY DAY Année exprimée avec 4 chiffres Année exprimée en toutes lettres Mois exprimé avec 2 chiffres 3 premières lettres du nom du jour Jour exprimé en toutes lettres Mois exprimé en toutes lettres

30 3-30 Copyright Oracle Corporation, Tous droits réservés. Modèles de Format pour les Dates Les éléments horaires formatent la partie horaire de la date. Les éléments horaires formatent la partie horaire de la date. Pour ajouter des chaînes de caractères, les placer entre guillemets. Pour ajouter des chaînes de caractères, les placer entre guillemets. Différents suffixes existent pour les nombres. Différents suffixes existent pour les nombres. Les éléments horaires formatent la partie horaire de la date. Les éléments horaires formatent la partie horaire de la date. Pour ajouter des chaînes de caractères, les placer entre guillemets. Pour ajouter des chaînes de caractères, les placer entre guillemets. Différents suffixes existent pour les nombres. Différents suffixes existent pour les nombres. HH24:MI:SS AM15:45:32 PM DD "of" MONTH12 of OCTOBER ddspth fourteenth

31 3-31 Copyright Oracle Corporation, Tous droits réservés. Format de Date RR Année en Cours Date Spécifiée 27-OCT OCT OCT-95 Format RR Format YY Si les 2 chiffres de lannée en cours sont La nouvelle date appartient au siècle courant. La nouvelle date appartient au siècle suivant. La nouvelle date appartient au siècle précédent. La nouvelle date appartient au siècle courant. Si lannée spécifiée est située entre

32 3-32 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction TO_CHAR avec les Dates SQL> SELECTename, 2 TO_CHAR(hiredate, 'fmDD Month YYYY') HIREDATE 3 FROM emp; ENAME HIREDATE KING 17 November 1981 BLAKE 1 May 1981 CLARK 9 June 1981 JONES 2 April 1981 MARTIN 28 September 1981 ALLEN 20 February rows selected.

33 3-33 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction TO_CHAR avec les Nombres Utilisez les formats suivants avec TO_CHAR pour afficher un nombre sous la forme d'une chaîne de caractère. TO_CHAR(number, 'fmt') 9 0 $ L., Représente un chiffre Force laffichage du zéro Place un signe dollar flottant Utilise le symbole monétaire local flottant Imprime un point décimal Imprime un séparateur de milliers

34 3-34 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction TO_CHAR avec les Nombres SQL> SELECTTO_CHAR(sal,'$99,999') SALARY 2 FROMemp 3 WHEREename = 'SCOTT'; SALARY $3,000

35 3-35 Copyright Oracle Corporation, Tous droits réservés. Fonctions TO_NUMBER et TO_DATE Conversion dune chaîne de caractères en format numérique avec la fonction TO_NUMBER TO_NUMBER(char) Conversion dune chaîne de caractères en format date avec la fonction TO_DATE TO_DATE(char[, 'fmt'])

36 3-36 Copyright Oracle Corporation, Tous droits réservés. Fonction NVL Convertit une valeur NULL en une valeur réelle Fonctionne avec les données de type date, caractère et numérique. Les types de données doivent correspondre – NVL(comm,0) – NVL(hiredate,'01-JAN-97') – NVL(job,'No Job Yet') Convertit une valeur NULL en une valeur réelle Fonctionne avec les données de type date, caractère et numérique. Les types de données doivent correspondre – NVL(comm,0) – NVL(hiredate,'01-JAN-97') – NVL(job,'No Job Yet')

37 3-37 Copyright Oracle Corporation, Tous droits réservés. SQL> SELECT ename, sal, comm, (sal*12)+NVL(comm,0) 2 FROM emp; Utilisation de la Fonction NVL ENAME SAL COMM (SAL*12)+NVL(COMM,0) KING BLAKE CLARK JONES MARTIN ALLEN rows selected.

38 3-38 Copyright Oracle Corporation, Tous droits réservés. Fonction DECODE Facilite les recherches conditionnelles en jouant le rôle de CASE ou IF-THEN-ELSE DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default]) DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default])

39 3-39 Copyright Oracle Corporation, Tous droits réservés. Utilisation de la Fonction DECODE SQL> SELECT job, sal, 2 DECODE(job, 'ANALYST', SAL*1.1, 3 'CLERK', SAL*1.15, 4 'MANAGER', SAL*1.20, 5 SAL) 6 REVISED_SALARY 7 FROM emp; JOB SAL REVISED_SALARY PRESIDENT MANAGER MANAGER rows selected.

40 3-40 Copyright Oracle Corporation, Tous droits réservés. Imbrication des Fonctions Le niveau dimbrication des fonctions mono-ligne est illimité Les fonctions imbriquées sont évaluées de l'intérieur vers l'extérieur Le niveau dimbrication des fonctions mono-ligne est illimité Les fonctions imbriquées sont évaluées de l'intérieur vers l'extérieur F3(F2(F1(col,arg1),arg2),arg3) Etape 1 = Résultat 1 Etape 2 = Résultat 2 Etape 3 = Résultat 3

41 3-41 Copyright Oracle Corporation, Tous droits réservés. Imbrication des Fonctions SQL> SELECTename, 2 NVL(TO_CHAR(mgr),'No Manager') 3 FROMemp 4 WHEREmgr IS NULL; ENAME NVL(TO_CHAR(MGR),'NOMANAGER') KING No Manager

42 3-42 Copyright Oracle Corporation, Tous droits réservés. Résumé Utilisez des fonctions mono-ligne pour : Transformer des données Formater des dates et des nombres pour l'affichage Convertir des types de données de colonnes Convertir des types de données de colonnes Utilisez des fonctions mono-ligne pour : Transformer des données Formater des dates et des nombres pour l'affichage Convertir des types de données de colonnes Convertir des types de données de colonnes


Télécharger ppt "Copyright Oracle Corporation, 1998. Tous droits réservés. 3 Fonctions Mono-Ligne."

Présentations similaires


Annonces Google