Copyright Oracle Corporation, 1998. Tous droits réservés. 3 Fonctions Mono-Ligne.
-
Upload
chloe-faucher -
Category
Documents
-
view
108 -
download
0
Transcript of Copyright Oracle Corporation, 1998. Tous droits réservés. 3 Fonctions Mono-Ligne.
Copyright Oracle Corporation, 1998. Tous droits réservés.
33
Fonctions Mono-LigneFonctions Mono-Ligne
3-2 Copyright Oracle Corporation, 1998. Tous droits réservés.
ObjectifsObjectifs
A la fin de ce chapitre, vous saurez :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 :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 Copyright Oracle Corporation, 1998. Tous droits réservés.
Qu’est ce qu’une fonction ?Qu’est ce qu’une fonction ?
Une fonction est une expression d’un type Une fonction est une expression d’un type de données spécifique qui fait partie de données spécifique qui fait partie d’une instruction utilisée pour calculer d’une instruction utilisée pour calculer une valeur .une valeur .
Une fonction est une expression d’un type Une fonction est une expression d’un type de données spécifique qui fait partie de données spécifique qui fait partie d’une instruction utilisée pour calculer d’une instruction utilisée pour calculer une valeur .une valeur .
3-4 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions SQL Fonctions SQL
FonctionFonctionEntréeEntrée
arg 1arg 1
arg 2arg 2
arg narg n
La fonction La fonction exécute une exécute une
actionaction
SortieSortie
Valeur Valeur résultanterésultante
3-5 Copyright Oracle Corporation, 1998. Tous droits réservés.
Deux Types de Fonctions SQLDeux Types de Fonctions SQL
FonctionsFonctions
Fonctions Fonctions mono-lignemono-ligne
Fonctions Fonctions multi-lignemulti-ligne
3-6 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions Mono-LigneFonctions 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,...])function_name (column|expression, [arg1, arg2,...])
3-7 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions Mono-LigneFonctions Mono-Ligne
ConversionConversion
CaractèreCaractère
NumériqueNumérique
DateDate
GénéraleGénéraleFonctionsFonctions
mono-lignemono-ligne
3-8 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions CaractèreFonctions Caractère
FonctionFonctioncaractèrecaractère
LOWERLOWER
UPPERUPPER
INITCAPINITCAP
CONCATCONCAT
SUBSTRSUBSTR
LENGTHLENGTH
INSTRINSTR
LPAD ...LPAD ...
Fonctions de conversionFonctions de conversionmajuscules/minusculesmajuscules/minuscules
Fonctions de manipulationFonctions de manipulationdes caractèresdes caractères
3-9 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions de Conversion Majuscules/Minuscules
Fonctions de Conversion Majuscules/Minuscules
Fonction
LOWER('Cours SQL')
UPPER('Cours SQL')
INITCAP('Cours SQL')
Résultat
cours sql
COURS SQL
Cours Sql
3-10 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation des Fonctions de Conversion Majuscules/Minuscules
Utilisation des Fonctions de Conversion Majuscules/Minuscules
Afficher le matricule, le nom et le numéro Afficher le matricule, le nom et le numéro de département de l’employé Blake.de département de l’employé Blake.Afficher le matricule, le nom et le numéro Afficher le matricule, le nom et le numéro de département de l’employé Blake.de département de l’employé Blake.
SQL> SELECT empno, ename, deptno 2 FROM emp 3 WHERE ename = 'blake';
SQL> SELECT empno, ename, deptno 2 FROM emp 3 WHERE ename = 'blake';
EMPNO ENAME DEPTNO--------- ---------- --------- 7698 BLAKE 30
EMPNO ENAME DEPTNO--------- ---------- --------- 7698 BLAKE 30
SQL> SELECT empno, ename, deptno 2 FROM emp 3 WHERE LOWER(ename) = 'blake';
no rows selectedno rows selectedno rows selectedno rows selected
3-11 Copyright Oracle Corporation, 1998. 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
Fonction Résultat
Fonctions de Manipulation des Caractères
Fonctions de Manipulation des Caractères
Manipulation de chaînes de caractèresManipulation de chaînes de caractèresManipulation de chaînes de caractèresManipulation de chaînes de caractères
3-12 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation des Fonctions de Manipulation des CaractèresUtilisation 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 2ALLEN ALLENSALESMAN 5 1TURNER TURNERSALESMAN 6 0WARD WARDSALESMAN 4 2
3-13 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions NumériquesFonctions NumériquesROUND :ROUND : Arrondit la valeur à la précision Arrondit la valeur à la précision
spécifiéespécifiée
ROUND :ROUND : Arrondit la valeur à la précision Arrondit la valeur à la précision
spécifiéespécifiée
TRUNC :TRUNC : Tronque la valeur à la précision Tronque la valeur à la précision
spécifiéespécifiée
TRUNC :TRUNC : Tronque la valeur à la précision Tronque la valeur à la précision
spécifiéespécifiée
MOD :MOD : Ramène le reste d’une divisionRamène le reste d’une divisionMOD :MOD : Ramène le reste d’une divisionRamène le reste d’une division
ROUND(45.926, 2)ROUND(45.926, 2)ROUND(45.926, 2)ROUND(45.926, 2) 45.9345.9345.9345.93
TRUNC(45.926, 2)TRUNC(45.926, 2)TRUNC(45.926, 2)TRUNC(45.926, 2) 45.9245.9245.9245.92
MODE(1600,300)MODE(1600,300)MODE(1600,300)MODE(1600,300) 100100100100
3-14 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction ROUND Utilisation de la Fonction ROUND
Affichage de la valeur 45.923 arrondie au Affichage de la valeur 45.923 arrondie au centième, à 0 décimale et à la dizaine centième, à 0 décimale et à la dizaine supérieure.supérieure.
Affichage de la valeur 45.923 arrondie au Affichage de la valeur 45.923 arrondie au centième, à 0 décimale et à la dizaine centième, à 0 décimale et à la dizaine supérieure.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)--------------- -------------- ----------------- 45.92 46 50
3-15 Copyright Oracle Corporation, 1998. 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)--------------- ------------- --------------- 45.92 45 40
Utilisation de la Fonction TRUNC Utilisation de la Fonction TRUNC
Affichage de la valeur 45.923 tronquée au Affichage de la valeur 45.923 tronquée au centième, à 0 décimale et à la dizaine.centième, à 0 décimale et à la dizaine.Affichage de la valeur 45.923 tronquée au Affichage de la valeur 45.923 tronquée au centième, à 0 décimale et à la dizaine.centième, à 0 décimale et à la dizaine.
3-16 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction MODUtilisation de la Fonction MOD
Calculer le reste de la division salaireCalculer le reste de la division salairepar commission pour l’ensemble des par commission pour l’ensemble des employés ayant un poste de vendeur. employés ayant un poste de vendeur.
Calculer le reste de la division salaireCalculer le reste de la division salairepar commission pour l’ensemble des par commission pour l’ensemble des employés ayant un poste de vendeur. employés ayant un poste de vendeur.
SQL> SELECT ename, sal, comm, MOD(sal, comm) 2 FROM emp 3 WHERE job = 'SALESMAN';
ENAME SAL COMM MOD(SAL,COMM)---------- --------- --------- -------------MARTIN 1250 1400 1250ALLEN 1600 300 100TURNER 1500 0 1500WARD 1250 500 250
3-17 Copyright Oracle Corporation, 1998. Tous droits réservés.
Autres Fonctions NumériquesAutres Fonctions Numériques
ABS(x) :ABS(x) : Valeur absolue de xValeur absolue de xABS(x) :ABS(x) : Valeur absolue de xValeur absolue de x
CEIL(n) :Plus petit entier supérieur ou égal à n.CEIL(n) :Plus petit entier supérieur ou égal à n.CEIL(n) :Plus petit entier supérieur ou égal à n.CEIL(n) :Plus petit entier supérieur ou égal à n.
SIGN(n) :SIGN(n) : Si n<0, -1; si n=0, 0; si n>0, 1.Si n<0, -1; si n=0, 0; si n>0, 1.SIGN(n) :SIGN(n) : Si n<0, -1; si n=0, 0; si n>0, 1.Si n<0, -1; si n=0, 0; si n>0, 1.
FLOOR(n) : Plus grand entier supérieur ou égal à FLOOR(n) : Plus grand entier supérieur ou égal à
n. n.
FLOOR(n) : Plus grand entier supérieur ou égal à FLOOR(n) : Plus grand entier supérieur ou égal à
n. n.
3-18 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation des DatesUtilisation 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 l’heure 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 l’heure courante.
• DUAL est une table factice qu'on peut utiliser pour visualiser SYSDATE.
3-19 Copyright Oracle Corporation, 1998. Tous droits réservés.
Opérations Arithmétiques sur les Dates
Opérations Arithmétiques sur les Dates
• Ajout ou soustraction d’un nombre à une date pour obtenir un résultat de type date.
• Soustraction de deux dates afin de déterminer le nombre de jours entreces deux dates.
• Ajout d’un nombre d’heures à une date en divisant le nombre d’heures par 24.
• Ajout ou soustraction d’un nombre à une date pour obtenir un résultat de type date.
• Soustraction de deux dates afin de déterminer le nombre de jours entreces deux dates.
• Ajout d’un nombre d’heures à une date en divisant le nombre d’heures par 24.
3-20 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation d’Opérateurs Arithmétiques avec les Dates
Utilisation d’Opérateurs Arithmétiques avec les Dates
SQL> SELECT ename, (SYSDATE-hiredate)/7 WEEKS 2 FROM emp 3 WHERE deptno = 10;
ENAME WEEKS---------- ---------KING 830.93709CLARK 853.93709MILLER 821.36566
3-21 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions DateFonctions Date
Nombre de mois situés entre deux datesMONTHS_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
FONCTION DESCRIPTION
3-22 Copyright Oracle Corporation, 1998. Tous droits réservés.
• MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')
Utilisation des Fonctions DateUtilisation 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')
19.677419419.6774194
'11-JUL-94''11-JUL-94'
'08-SEP-95''08-SEP-95'
'30-SEP-95''30-SEP-95'
3-23 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation des DatesUtilisation 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 l’heure 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 l’heure courante.
• DUAL est une table factice qu'on peut utiliser pour visualiser SYSDATE.
3-24 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions de ConversionFonctions de Conversion
Conversion Conversion de types de types
de données de données impliciteimplicite
ConversionConversionde typesde types
de données de données expliciteexplicite
Conversion Conversion de typesde types
de donnéesde données
3-25 Copyright Oracle Corporation, 1998. Tous droits réservés.
Conversion de Types de Données Implicite
Conversion de Types de Données Implicite
Pour les affectations, Oracle effectue Pour les affectations, Oracle effectue automatiquement les conversions suivantesautomatiquement les conversions suivantesPour les affectations, Oracle effectue Pour les affectations, Oracle effectue automatiquement les conversions suivantesautomatiquement les conversions suivantes
VARCHAR2 ou CHAR
De Vers
VARCHAR2 ou CHAR
NUMBER
DATE
NUMBER
DATE
VARCHAR2
VARCHAR2
3-26 Copyright Oracle Corporation, 1998. Tous droits réservés.
Conversion de Types de Données Implicite
Conversion de Types de Données Implicite
Pour l’évaluation d’expressions, Oracle effectue Pour l’évaluation d’expressions, Oracle effectue automatiquement les conversions suivantesautomatiquement les conversions suivantesPour l’évaluation d’expressions, Oracle effectue Pour l’évaluation d’expressions, Oracle effectue automatiquement les conversions suivantesautomatiquement les conversions suivantes
VARCHAR2 ou CHAR
De Vers
VARCHAR2 ou CHAR
NUMBER
DATE
3-27 Copyright Oracle Corporation, 1998. Tous droits réservés.
Conversion de Types de Données Explicite
Conversion de Types de Données Explicite
NUMBERNUMBER CHARACTERCHARACTER
TO_CHARTO_CHAR
TO_NUMBERTO_NUMBER
DATEDATE
TO_CHARTO_CHAR
TO_DATETO_DATE
3-28 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction TO_CHAR avec les DatesUtilisation 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')TO_CHAR(date, 'fmt')
3-29 Copyright Oracle Corporation, 1998. Tous droits réservés.
YYYY
Modèles de Format DateModè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
3-30 Copyright Oracle Corporation, 1998. Tous droits réservés.
Modèles de Format pour les Dates
Modèles de Format pour les Dates
• Les éléments horaires formatent la Les éléments horaires formatent la partie horaire de la date.partie horaire de la date.
• Pour ajouter des chaînes de caractères, Pour ajouter des chaînes de caractères, les placer entre guillemets.les placer entre guillemets.
• Différents suffixes existent pour les Différents suffixes existent pour les nombres.nombres.
• Les éléments horaires formatent la Les éléments horaires formatent la partie horaire de la date.partie horaire de la date.
• Pour ajouter des chaînes de caractères, Pour ajouter des chaînes de caractères, les placer entre guillemets.les placer entre guillemets.
• Différents suffixes existent pour les Différents suffixes existent pour les nombres.nombres.
HH24:MI:SS AM 15:45:32 PM
DD "of" MONTH 12 of OCTOBER
ddspth fourteenth
3-31 Copyright Oracle Corporation, 1998. Tous droits réservés.
Format de Date RRFormat de Date RR
Année en Cours1995199520012001
Date Spécifiée27-OCT-9527-OCT-1727-OCT-1727-OCT-95
Format RR1995201720171995
Format YY1995191720172095
Si les 2 chiffres de l’année en cours sont
0-49
0-49 50-99
50-99
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 l’année spécifiée est située entre
3-32 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction TO_CHAR avec les DatesUtilisation de la Fonction TO_CHAR avec les Dates
SQL> SELECT ename, 2 TO_CHAR(hiredate, 'fmDD Month YYYY') HIREDATE 3 FROM emp;
ENAME HIREDATE---------- -----------------KING 17 November 1981BLAKE 1 May 1981CLARK 9 June 1981JONES 2 April 1981MARTIN 28 September 1981ALLEN 20 February 1981...14 rows selected.
3-33 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction TO_CHAR avec les Nombres
Utilisation de la Fonction TO_CHAR avec les Nombres
Utilisez les formats suivants avec Utilisez les formats suivants avec TO_CHAR pour afficher un nombre sous TO_CHAR pour afficher un nombre sous la forme d'une chaîne de caractère.la forme d'une chaîne de caractère.
Utilisez les formats suivants avec Utilisez les formats suivants avec TO_CHAR pour afficher un nombre sous TO_CHAR pour afficher un nombre sous la forme d'une chaîne de caractère.la forme d'une chaîne de caractère.
TO_CHAR(number, 'fmt')TO_CHAR(number, 'fmt')
9
0
$
L
.
,
Représente un chiffre
Force l’affichage 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
3-34 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction TO_CHAR avec les Nombres
Utilisation de la Fonction TO_CHAR avec les Nombres
SQL> SELECT TO_CHAR(sal,'$99,999') SALARY 2 FROM emp 3 WHERE ename = 'SCOTT';
SALARY-------- $3,000
3-35 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonctions TO_NUMBER et TO_DATEFonctions TO_NUMBER et TO_DATE
• Conversion d’une chaîne de caractères en format numérique avec la fonction TO_NUMBER
• Conversion d’une chaîne de caractères en format numérique avec la fonction TO_NUMBER
TO_NUMBER(char)TO_NUMBER(char)
• Conversion d’une chaîne de caractères en format date avec la fonction TO_DATE
• Conversion d’une chaîne de caractères en format date avec la fonction TO_DATE
TO_DATE(char[, 'fmt'])TO_DATE(char[, 'fmt'])
3-36 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonction NVLFonction NVL
Convertit une valeur NULL en une valeur Convertit une valeur NULL en une valeur réelleré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 Convertit une valeur NULL en une valeur réelleré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')
3-37 Copyright Oracle Corporation, 1998. Tous droits réservés.
SQL> SELECT ename, sal, comm, (sal*12)+NVL(comm,0) 2 FROM emp;
Utilisation de la Fonction NVLUtilisation de la Fonction NVL
ENAME SAL COMM (SAL*12)+NVL(COMM,0)---------- --------- --------- --------------------KING 5000 60000BLAKE 2850 34200CLARK 2450 29400JONES 2975 35700MARTIN 1250 1400 16400ALLEN 1600 300 19500...14 rows selected.
3-38 Copyright Oracle Corporation, 1998. Tous droits réservés.
Fonction DECODEFonction DECODE
Facilite les recherches conditionnelles en Facilite les recherches conditionnelles en jouant le rôle de jouant le rôle de CASECASE ou ou IF-THEN-ELSEIF-THEN-ELSEFacilite les recherches conditionnelles en Facilite les recherches conditionnelles en jouant le rôle de jouant le rôle de CASECASE ou ou IF-THEN-ELSEIF-THEN-ELSE
DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default])
DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default])
3-39 Copyright Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Fonction DECODEUtilisation 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 5000 5000MANAGER 2850 3420MANAGER 2450 2940...14 rows selected.
3-40 Copyright Oracle Corporation, 1998. Tous droits réservés.
Imbrication des FonctionsImbrication des Fonctions
• Le niveau d’imbrication des fonctions mono-ligne est illimité
• Les fonctions imbriquées sont évaluées de l'intérieur vers l'extérieur
• Le niveau d’imbrication 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
3-41 Copyright Oracle Corporation, 1998. Tous droits réservés.
Imbrication des FonctionsImbrication des Fonctions
SQL> SELECT ename, 2 NVL(TO_CHAR(mgr),'No Manager') 3 FROM emp 4 WHERE mgr IS NULL;
ENAME NVL(TO_CHAR(MGR),'NOMANAGER')---------- -----------------------------KING No Manager
3-42 Copyright Oracle Corporation, 1998. Tous droits réservés.
RésuméRésumé
Utilisez des fonctions mono-ligne pour :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 Convertir des types de données de colonnescolonnes
Utilisez des fonctions mono-ligne pour :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 Convertir des types de données de colonnescolonnes