Vendredi 20 juillet 2012
5
20
/07
/Juil
/2012 22:03
TRANSLATE Fonction.
Comment utiliser la fonction PL SQL TRANSLATE dans Oracle.
La fonction TRANSLATE transforme, remplace et retourne une expression avec toutes les occurrences de la chaîne1 remplacées par les caractères en
position correspondantes de la chaîne2.
TRANSLATE syntaxe.
|
|
TRANSLATE(expression, chaîne1, chaîne2)
|
Fonction sql TRANSLATE par l'exemple.
- Si la chaîne2 comporte moins de caractères que la chaîne1 alors les caractères non compensées de chaîne1 sont retirés de expression.
SQL> SELECT TRANSLATE('DBA ORxxACLE','#x', ' ') AS TRANS
FROM dual;
TRANS
----------
DBA ORACLE
Donc ici pour remplacer les deux x mais surtout pour tronquer les 2 espaces blanc, on place volontairement un caractère # (caractères non présent dans DBA ORxxACLE) afin que le caractère x non
compensées de chaîne1 soit retirés de expression, sinon le résultat serait le suivant :
SQL> SELECT TRANSLATE('DBA ORxxACLE','x', ' ') AS TRANS
FROM dual;
TRANS
------------
DBA OR ACLE
- Si la chaîne1 comporte moins de caractères que la chaîne2 alors les caractères non compensées de chaîne2 sont ignorés.
SQL> SELECT TRANSLATE('DBA ORACLE','DBA', 'dba oracle') AS TRANS
FROM dual;
TRANS
----------
dba ORaCLE
SQL>
Ici la fonction translate remplace :
- les D par des d
- les B par des b
- les A par des a
- puis s'arrête, les caractères " oracle" de la chaîne2 sont ignorés.
- Exemple basic avec TRANSLATE.
SQL> SELECT TRANSLATE('orAcle_dAtAbAse','Aod_', 'aOD ') AS TRANS
FROM dual;
TRANS
---------------
Oracle Database
SQL>
Par Oracle SQL
-
Publié dans : FUNCTIONS - SQL
0
Mercredi 18 juillet 2012
3
18
/07
/Juil
/2012 21:40
RPAD - LPAD Fonction.
Comment utiliser la fonction SQL RPAD oracle.
Comment utiliser la fonction SQL LPAD oracle.
La fonction RPAD (Right PAD) réplique à la droite d'une valeur, autant de fois que nécessaire une chaîne d'une longueur définie en utilisant un caractère spécifié.
De même pour la fonction LPAD (Left PAD) qui elle réplique à gauche une chaîne d'une longueur définie en utilisant un caractère spécifié.
RPAD - LPAD syntaxe.
|
|
RPAD(expr1 , i [, expr2 ])
LPAD(expr1 , i [, expr2 ])
|
Les fonctions chaînes de caractères RPAD et LPAD prennent 3 arguments, où expr1 et expr2 sont des chaines de caractères et i un nombre entier.
La fonction RPAD retourne la chaîne de caractères expr1 augmentée en longueur de i caractères, en utilisant expr2 pour remplir l'espace à
droite de expr1.
La fonction LPAD retourne la chaîne de caractères expr1 augmentée en longueur de i caractères, en utilisant expr2 pour remplir l'espace à
gauche de expr1.
Si la longueur de expr1 est plus grande que i alors la fonction RPAD et LPAD retourne la partie de expr1 qui correspond a une longueur égale à
i, la chaîne est donc tronquée à i caractères.
Si vous ne spécifiez pas expr2 alors le caractère de remplissage est un espace.
RPAD dans les requêtes sql.
|
|
SQL> SELECT RPAD('www.dba-ora.fr',20,'#') AS Droite FROM dual;
DROITE
--------------------
www.dba-ora.fr######
SQL> SELECT RPAD('www.dba-ora.fr',20) AS Droite FROM dual;
DROITE
--------------------
www.dba-ora.fr
Ici RPAD a placé 6 espaces à droite de expr1.
SQL> SELECT RPAD('www.dba-ora.fr',11,'#') AS Droite FROM dual;
DROITE
-----------
www.dba-ora
Ici expr1 est tronquée à 11 caractères.
|
LPAD dans les requêtes sql.
|
|
SQL> SELECT LPAD('www.dba-ora.fr',20,'#') AS Gauche FROM dual;
GAUCHE
--------------------
######www.dba-ora.fr
SQL> SELECT LPAD('www.dba-ora.fr',20) AS Gauche FROM dual;
GAUCHE
--------------------
www.dba-ora.fr
Ici LPAD a placé 6 espaces à gauche de expr1.
SQL> SELECT LPAD('www.dba-ora.fr',11,'#') AS Gauche FROM dual;
GAUCHE
-----------
www.dba-ora
Ici expr1 est tronquée à 11 caractères.
|
Par Oracle SQL
-
Publié dans : FUNCTIONS - SQL
0