Oracle Database
Manipulation de cordes
Recherche…
Concaténation: Opérateur || ou fonction concat ()
Oracle SQL et PL / SQL ||
L'opérateur vous permet de concaténer deux chaînes ou plus.
Exemple:
En supposant la table customers
suivante:
id firstname lastname
--- ----------- ----------
1 Thomas Woody
Question:
SELECT firstname || ' ' || lastname || ' is in my database.' as "My Sentence"
FROM customers;
Sortie:
My Sentence
---------------------------------
Thomas Woody is in my database.
Oracle prend également en charge la fonction standard SQL CONCAT(str1, str2)
:
Exemple:
Question:
SELECT CONCAT(firstname, ' is in my database.') from customers;
Sortie:
Expr1
---------------------------------
Thomas is in my database.
PLUS HAUT
La fonction UPPER vous permet de convertir toutes les lettres minuscules d'une chaîne en majuscules.
SELECT UPPER('My text 123!') AS result FROM dual;
Sortie:
RESULT
------------
MY TEXT 123!
INITCAP
La fonction INITCAP
convertit la casse d'une chaîne de sorte que chaque mot commence par une majuscule et que toutes les lettres suivantes soient en minuscule.
SELECT INITCAP('HELLO mr macdonald!') AS NEW FROM dual;
Sortie
NEW
-------------------
Hello Mr Macdonald!
INFÉRIEUR
LOWER convertit toutes les majuscules d'une chaîne en minuscules.
SELECT LOWER('HELLO World123!') text FROM dual;
Les sorties:
texte |
---|
bonjour world123! |
Expression régulière
Disons que nous voulons remplacer uniquement les nombres à 2 chiffres: l'expression régulière les trouvera avec (\d\d)
SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '(\d\d)', '#')
FROM dual;
Résulte en:
'2, 5, and # are numbers in this example'
Si je veux échanger des parties du texte, j'utilise \1
, \2
, \3
pour appeler les chaînes correspondantes:
SELECT REGEXP_REPLACE ('swap around 10 in that one ', '(.*)(\d\d )(.*)', '\3\2\1\3')
FROM dual;
SUBSTR
SUBSTR
récupère une partie d'une chaîne en indiquant la position de départ et le nombre de caractères à extraire
SELECT SUBSTR('abcdefg',2,3) FROM DUAL;
résultats:
bcd
Pour compter à partir de la fin de la chaîne, SUBSTR
accepte un nombre négatif comme second paramètre, par exemple
SELECT SUBSTR('abcdefg',-4,2) FROM DUAL;
résultats:
de
Pour obtenir le dernier caractère d'une chaîne: SUBSTR(mystring,-1,1)
LTRIM / RTRIM
LTRIM
et RTRIM
suppriment les caractères du début ou de la fin (respectivement) d'une chaîne. Un ensemble d'un ou plusieurs caractères peut être fourni (par défaut un espace) à supprimer.
Par exemple,
select LTRIM('<===>HELLO<===>', '=<>')
,RTRIM('<===>HELLO<===>', '=<>')
from dual;
Résultats:
HELLO<===>
<===>HELLO