Académique Documents
Professionnel Documents
Culture Documents
BD Chapitre3
BD Chapitre3
ENAME MAJ
------ ------
Martin MARTIN
Allen ALLEN
Turner TURNER
Ward WARD
- LOWER(ch) : met la chaîne de caractères en minuscule.
SQL> select distinct job, lower(job) as MINU from emp;
JOB MINU
---------- ----------
ANALYST analyst
CLERK clerk
PRESIDENT president
MANAGER manager
SALESMAN salesman
- INITCAP(ch) : met le première lettre de chaque mot de la chaîne en majuscule, le reste en
minuscule.
SQL> Select INITCAP ('LE LANGAGE_SQL ET pL/sQL pOUR OrACLE') "Fonction INITCAP"
FROM DUAL;
Fonction INITCAP _
Le Langage_Sql Et Pl/Sql Pour Oracle
- Table DUAL : Oracle fournit une petite table DUAL qui se compose d’une ligne et d’une
colonne qui est utilisée pour tester des fonctions ou effectuer des calculs rapides.
SQL> desc dual
Name Null? Type
----------------------------------------- -------- ----------------------------
DUMMY VARCHAR2(1)
Les colonnes qui existent dans DUAL n’ont aucune importance.
On peut donc facilement expérimenter les différentes fonctions au moyen de cette table, afin
d’en comprendre le fonctionnement avant de les appliquer sur des données de tables réelles.
Dans ces exemples, l’instruction Select ne tient pas compte des colonnes de la table, et seule
une ligne suffit à démontrer un fonctionnement.
Par exemple, supposons qu’on veut rapidement afficher la date de demain, le nom
d’utilisateur et calculer (14522/3.14) * 13.89.
SQL> Select USER, SYSDATE+1, (14522/3.14) * 13.89 FROM DUAL;
LISTE_DES_EMPLOIS
-------------------------------
King a pour emploi PRESIDENT
Blake a pour emploi MANAGER
Clark a pour emploi MANAGER
Jones a pour emploi MANAGER
Allen a pour emploi SALESMAN
Ford a pour emploi ANALYST
Scott a pour emploi ANALYST
7 rows selected.
Le caractère cote(') est le caractère qui délimite les constantes de type chaînes de caractères,
pour l’afficher il suffit d’écrire deux fois le caractère (') dans la chaîne.
SQL> Select 'L''utilisation du caractère cote :''' FROM DUAL;
'L''UTILISATIONDUCARACTÈRECOTE:'''
L'utilisation du caractère cote :'
- LPAD(ch,l,sch) : complète ou tronque la chaîne à gauche à une longueur donnée:
LPAD(chaîne,long[,chaîne2]) = Retour
Chaîne1 : La chaîne à traiter.
Chaîne2 : Un ou plusieurs caractères utilisés comme modèle pour le remplissage. Le
paramètre est optionnel ; par défaut la chaîne est complétée par des espaces.
long : La longueur de la chaîne après le traitement.
Retour : La chaîne traitée redimensionnée à la longueur long. Si long est inférieur à la
longueur de la chaîne, la chaîne est tronquée en éliminant la fin.
SQL> Select ENAME, LPAD(ENAME,5) sur_5, LPAD(JOB,8,'*') sur_8, LPAD(ENAME,10,'*/@')
sur_10 FROM EMP WHERE COMM IS Null;
ENAME SUR_5 SUR_8 SUR_10
------ -------------------- ----------------- --------------------
King King PRESIDEN */@*/@King
Blake Blake *MANAGER */@*/Blake
Clark Clark *MANAGER */@*/Clark
Jones Jones *MANAGER */@*/Jones
James James ***CLERK */@*/James
Ford Ford *ANALYST */@*/@Ford
Smith Smith ***CLERK */@*/Smith
Scott Scott *ANALYST */@*/Scott
Adams Adams ***CLERK */@*/Adams
Miller Mille ***CLERK */@*Miller
10 rows selected.
- RPAD(ch,l,sch) : complète ou tronque la chaîne à droite à une longueur donnée:
RPAD(chaîne,long[,chaîne2]) = Retour
Chaîne1 : La chaîne à traiter.
Chaîne2 : Un ou plusieurs caractères utilisés comme modèle pour le remplissage. Le
paramètre est optionnel ; par défaut la chaîne est complétée par des espaces.
long : La longueur de la chaîne après le traitement.
Retour : La chaîne traitée redimensionnée à la longueur long. Si long est inférieur à la
longueur de la chaîne, la chaîne est tronquée en éliminant la fin.
SQL> Select ENAME, RPAD(ENAME,5) sur_5, RPAD(JOB,8,'*') sur_8, RPAD(ENAME,12,'*/@')
sur_12 FROM EMP WHERE SAL < 1500;
ENAME SUR_5 SUR_8 SUR_12
------ ----------- ------------- -----------------
Martin Marti SALESMAN Martin*/@*/@
James James CLERK*** James*/@*/@*
Ward Ward SALESMAN Ward*/@*/@*/
Smith Smith CLERK*** Smith*/@*/@*
Adams Adams CLERK*** Adams*/@*/@*
Miller Mille CLERK*** Miller*/@*/@
6 rows selected.
ENAME 1 2 3
------ ------------ ---- ----------------
Martin tin n rtin
Allen en len
Turner ner r rner
Ward d rd
SYSDATE MM JJ N ANNE
-------- -- -- - ----
18/02/19 02 18 1 2019
8 rows selected.