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
FROM
mot-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)