Fonctions texte
Les fonctions texte nettoient, découpent et assemblent les chaînes : mettre en majuscules, retirer des espaces, extraire un domaine d'e-mail. Indispensables avant de comparer ou de dédoublonner.
- UPPER
- LOWER
- TRIM
- LENGTH
- SUBSTR
- INSTR
- REPLACE
- concaténation
Syntaxe
UPPER(t) LOWER(t) TRIM(t) LENGTH(t)SUBSTR(t, debut, longueur) INSTR(t, motif) REPLACE(t, ancien, nouveau)t1 || t2 -- concaténationExemple
SELECT name, UPPER(name) AS nom_majuscules, SUBSTR(email, 1, INSTR(email, '@') - 1) AS identifiant, SUBSTR(email, INSTR(email, '@') + 1) AS domaine, LENGTH(name) AS longueurFROM customersWHERE city = 'Lyon'ORDER BY name;-- Jeu de données : boutique-- Résultat attendu :-- Emma Dubois | EMMA DUBOIS | emma | email.com | 11-- Nora Petit | NORA PETIT | nora | email.com | 10À retenir
- SQLite concatène avec || : 'Client : ' || name. SQL Server utilise +, et CONCAT() existe dans SQLite 3.44+, PostgreSQL, MySQL et SQL Server.
- SUBSTR compte à partir de 1. INSTR renvoie la position du motif, ou 0 s'il est absent : protégez-vous avec CASE WHEN INSTR(email, '@') > 0.
- Piège : sans extension ICU, UPPER et LOWER de SQLite ne traitent que les lettres ASCII : UPPER('Léa') donne 'LéA'. PostgreSQL convertit correctement les accents.
- Piège : NULL || 'texte' vaut NULL, une seule valeur manquante efface toute la chaîne. Protégez chaque morceau avec COALESCE, ou utilisez CONCAT, qui ignore les NULL.
Voir aussi
- IN, BETWEEN, LIKEIN teste l'appartenance à une liste, BETWEEN un intervalle bornes comprises, LIKE un motif de texte avec jokers. Ces trois opérateurs raccourcissent les conditions répétitives de WHERE.
- COALESCE & CASECASE introduit une logique « si… alors… sinon » dans une requête, COALESCE renvoie la première valeur non NULL. Ils servent à classer des lignes en catégories ou à remplacer une valeur manquante.
- GROUP_CONCAT / string_aggGROUP_CONCAT assemble les valeurs d'un groupe en une seule chaîne séparée par un délimiteur. Pratique pour afficher la liste des élèves d'une classe ou des produits d'une commande sur une ligne.
- CAST et types de donnéesCAST convertit une valeur d'un type à un autre, typeof() révèle le type réellement stocké. Dans SQLite, où le typage est souple, ils évitent les tris, comparaisons et divisions faussés.