TP 2 Bis SQL Fonction Chaine Etarithmitique Nac 2023
TP 2 Bis SQL Fonction Chaine Etarithmitique Nac 2023
TP 2 Bis SQL Fonction Chaine Etarithmitique Nac 2023
PAR MR :
Fonctions arithmétiques
I.CHANA
Expressions et fonctions sur les chaînes de
caractères
Introduction :
Le langage SQL contient plusieurs fonctions le rendant puissant en terme de traitement des chaines de
caractères et aussi en terme de calcule arithmétique. Durant ce TP nous allons découvrir et pratiquer un
bon nombre de ces fonctions et qui sont d’ailleurs les plus utilisées. Nous découvrirons aussi
l’instruction DECODE
Consignes : Vous vous connectez à la base de données de gestion des ressource humaines
(scoot/tigger) exécuter la requette suivante si le compte scott est verrouillé ( Alter user scott identified
by mot_passe account unlock ;). Vous pouvez se connecter également à un autre schéma (celui crée
la séance précédente), puis tapez toutes ces fonctions sur votre éditeur des requêtes SQL en utilisant la
table DUAL dans la clause from, avec des exemples sur les nombres et les chaines de caractères de
votre choix. Un compte rendu contenant tous cet exemple, requêtes et résultats sera rendu à la fin de la
séance
Cas(‘balatata’,’tata’,’lolo’)
Requête : select REPLACE (‘blatata’,’tata’,’lolo’) from dual;
Résultat : blalolo
Important !! : Un compte rendu contenant toutes les manipulations objet de ce TP est à rendre la fin de
la séance
I- Fonctions arithmétiques
LN(n) : Renvoie le logarithme népérien de n qui doit être un entier strictement positif.
ROUND(n[,m]) : Si m est positif, renvoie n arrondi (et non pas tronqué) à m chiffres après la
virgule. Si m est négatif, renvoie n arrondi à m chiffres avant la virgule. m doit être un entier et
il vaut 0 par défaut.
ABS(nb) : Renvoie la valeur absolue de nb.
TRUNC(n,m) : Si m est positif, renvoie n arrondi tronqué à m chiffres après la virgule. Si m est
négatif, renvoie n tronqué à m chiffres avant la virgule. m doit être un entier et il vaut 0 par
défaut.
Il existe un seul opérateur sur les chaînes de caractères : la concaténation. Cet opérateur se note au
moyen de deux caractères |(barre verticale) accolés. Le résultat d'une concaténation est une chaîne de
caractères obtenue en écrivant d'abord la chaîne à gauche de || puis celle à droite de ||.
Le paragraphe suivant contient les fonctions travaillant sur les chaînes de caractères et renvoyant des
chaînes de caractères.
TRANSLATE (chaîne, avant, après) : Renvoie une chaîne de caractères en remplaçant chaque
caractère de chaîne présent dans ‘avant’ par le caractère situé à la même position dans ‘après’.
Les caractères de ‘chaîne’ non présents dans ‘avant’ ne sont pas modifiés. ‘avant’ peut
contenir plus de caractères que ‘après, dans ce cas les caractères de ‘avant’ sans correspondants
dans ‘aprè’s seront supprimés de ‘chaîne’.
Le paragraphe suivant contient les fonctions travaillant sur les chaînes de caractères et renvoyant des
entiers.
Application
- Se connecter au schéma HR, puis consulter la table EMPLOYEE et réaliser la requête suivante :
- Afficher le nom et prénom séparés par un espace pour touts les employées, avec les 3 premières
lettres des noms en majuscule et toute les lettres des prénoms en minuscule.
SELECT e.first_name,e.last_name,e.JOB_ID,
DECODE(e.JOB_ID, 'AD_PRES', '******', e.salary) FROM EMPLOYEES e
WHERE e.EMPLOYEE_ID in (SELECT z.manager_id FROM EMPLOYEES z);
Dans cet exemple, tous les noms de manager sont extraits avec leur salaire. Lorsque la ligne
identifiant le président ('AD_PRES') est affichée, on affiche ’******’ `a la place du salaire
Application
En utilisant le schéma HR ( table employees)
- Lister des employés en remplaçant le noms par "---" dans le département ayant le
department_id=90