Problème :
Vous souhaitez supprimer une séquence de caractères au début d'une chaîne.
Exemple :
Notre base de données a une table nommée product avec des données sur trois colonnes :id , nom , et modèle .
| identifiant | nom | modèle |
|---|---|---|
| 1 | regarder | Lx0A123 |
| 2 | montre intelligente | Lx0W34 |
| 3 | photo de l'horloge | Lx0G100 |
Découpons le code modèle de chaque nouveau produit, en supprimant les caractères inutiles (Lx0) au début.
Solution 1 :
Nous utiliserons le TRIM() une fonction. Voici la requête que vous écririez :
SELECT name, TRIM(LEADING 'Lx0' FROM model ) AS new_model_code FROM product;
Voici le résultat :
| nom | nouveau_code_modèle |
|---|---|
| regarder | A123 |
| montre intelligente | W34 |
| photo de l'horloge | G100 |
Discussion :
Utilisez le TRIM() fonction avec le LEADING mot-clé pour supprimer des caractères au début d'une chaîne. TRIM() vous permet de supprimer des caractères ou des espaces spécifiques au début, à la fin ou aux deux extrémités d'une chaîne. Cette fonction prend les arguments suivants :
- Un mot-clé facultatif qui spécifie la ou les extrémités à couper. Par défaut, c'est
BOTH, mais vous pouvez définirLEADING(supprimer du début) ouTRAILING(supprimer de la fin). - Une chaîne définissant le(s) caractère(s)/espace(s) que vous souhaitez supprimer de la chaîne (dans notre exemple, la séquence "Lx0").
- Le
FROMmot-clé. - Le nom de la chaîne/colonne à découper (dans notre exemple, le modèle colonne).
Dans notre exemple, cela ressemble à :
TRIM(LEADING 'Lx0' FROM model)