Manipuler et transformer du texte avec SQL
Les fonctions de chaînes permettent de manipuler et transformer du texte. Elles sont essentielles pour formater les données, rechercher des patterns, ou extraire des informations spécifiques.
SELECT UPPER(nom) AS nom_majuscules,
LOWER(prenom) AS prenom_minuscules
FROM EMPLOYES;
UPPER convertit en majuscules, LOWER en minuscules.
SELECT INITCAP(nom) AS nom_formate
FROM EMPLOYES;
Convertit la première lettre de chaque mot en majuscule.
SELECT SUBSTR(nom, 1, 3) AS trois_premieres_lettres,
SUBSTR(email, 1, INSTR(email, '@') - 1) AS username
FROM EMPLOYES;
SUBSTR(chaîne, position, longueur) extrait une partie d'une chaîne.
SELECT nom, LENGTH(nom) AS longueur_nom
FROM EMPLOYES
WHERE LENGTH(nom) > 8;
SELECT CONCAT(prenom, ' ', nom) AS nom_complet,
prenom || ' ' || nom AS nom_complet2
FROM EMPLOYES;
SELECT TRIM(' texte ') AS sans_espaces,
LTRIM(' gauche') AS sans_espace_gauche,
RTRIM('droite ') AS sans_espace_droite
FROM DUAL;
SELECT nom,
REPLACE(email, '@company.com', '@newdomain.com') AS nouveau_email
FROM EMPLOYES;
SELECT email,
INSTR(email, '@') AS position_arobase
FROM EMPLOYES;
WHERE UPPER(nom) = 'DUPONT' trouvera "Dupont", "DUPONT" et "dupont".
-- Formater un nom complet en majuscules avec initiales
SELECT UPPER(SUBSTR(prenom, 1, 1) || '. ' || nom) AS nom_formate
FROM EMPLOYES;
-- Extraire le domaine d'un email
SELECT SUBSTR(email, INSTR(email, '@') + 1) AS domaine
FROM EMPLOYES;
Utilise plusieurs fonctions de chaînes pour formater les noms de différentes manières. UPPER met tout en majuscules, INITCAP capitalise chaque mot, et CONCAT assemble prénom et nom.
Combine SUBSTR et INSTR pour découper un email. INSTR trouve la position du @, SUBSTR extrait avant et après cette position. LENGTH compte le nombre de caractères.