Les fonctions de chaîne en SQL servent à manipuler et transformer les données textuelles. Elles sont essentielles pour nettoyer, formater et extraire des informations à partir des colonnes de type texte dans une base de données. Cette leçon présente les fonctions de chaîne les plus utilisées, avec des exemples pratiques.
UPPER() — Convertit une chaîne en majuscules.Syntaxe :
UPPER(chaine)
Exemple :
SELECT UPPER(first_name) AS nom_majuscule
FROM employees;
Résultat : Convertit toutes les valeurs de first_name en majuscules.
LOWER() — Convertit une chaîne en minuscules.Syntaxe :
LOWER(chaine)
Exemple :
SELECT LOWER(last_name) AS nom_minuscule
FROM employees;
Résultat : Convertit toutes les valeurs de last_name en minuscules.
LENGTH() ou LEN() — Retourne la longueur d'une chaîne (nombre de caractères).Syntaxe :
LENGTH(chaine) -- Pour la plupart des bases
LEN(chaine) -- Pour SQL Server
Exemple :
SELECT LENGTH(product_name) AS longueur_nom
FROM products;
Résultat : Retourne le nombre de caractères de chaque product_name.
SUBSTRING() ou SUBSTR() — Extrait une partie d'une chaîne.Syntaxe :
SUBSTRING(chaine, position_debut, longueur) -- Pour la plupart des bases
SUBSTR(chaine, position_debut, longueur) -- Pour Oracle et autres
Exemple :
SELECT SUBSTRING(email, 1, 5) AS prefixe_email
FROM users;
Résultat : Extrait les 5 premiers caractères de la colonne email.
CONCAT() — Concatène deux ou plusieurs chaînes en une seule.Syntaxe :
CONCAT(chaine1, chaine2, ...)
Exemple :
SELECT CONCAT(first_name, ' ', last_name) AS nom_complet
FROM employees;
Résultat : Combine first_name et last_name en une seule colonne nom_complet.
TRIM() — Supprime les espaces en début et fin de chaîne.Syntaxe :
TRIM(chaine)
Exemple :
SELECT TRIM(' SQL Basics ') AS chaine_trimmee;
Résultat : Retourne 'SQL Basics' sans espaces en début ou fin.
REPLACE() — Remplace les occurrences d'une sous-chaîne dans une chaîne.Syntaxe :
REPLACE(chaine, ancienne_sous_chaine, nouvelle_sous_chaine)
Exemple :
SELECT REPLACE(phone_number, '-', '') AS telephone_nettoye
FROM contacts;
Résultat : Supprime les tirets de phone_number.
INSTR() ou CHARINDEX() — Trouve la position d'une sous-chaîne dans une chaîne.Syntaxe :
INSTR(chaine, sous_chaine) -- Pour la plupart des bases
CHARINDEX(sous_chaine, chaine) -- Pour SQL Server
Exemple :
SELECT INSTR(email, '@') AS position_arobase
FROM users;
Résultat : Retourne la position du caractère @ dans la colonne email.
Points clés de cette leçon :
Dans la prochaine leçon, nous explorerons les fonctions mathématiques et de date pour enrichir encore vos requêtes SQL.