REPLACE et TRIM
Fait partie de la section Au-delà des bases du Journey SQL de Coddy — leçon 9 sur 27.
REPLACE(s, find, with) remplace chaque occurrence de find dans s par with :
REPLACE('555-123-4567', '-', '') -- '5551234567'TRIM(s) supprime les espaces aux deux extrémités. Passez un second argument pour supprimer d'autres caractères, et utilisez LTRIM / RTRIM pour les suppressions d'un seul côté :
TRIM(' hi ') -- 'hi'
TRIM('---hi---', '-') -- 'hi'Voici comment nettoyer les données d'une colonne en ligne sans mettre à jour la table.
Défi
FacileTables et colonnes disponibles :
<strong>contacts</strong>:<strong>id</strong>,<strong>phone</strong>
Chaque phone peut inclure des espaces au début ou à la fin et n'importe quel nombre de séparateurs -. Retournez id et une colonne clean avec tous les espaces et tirets supprimés. Triez par id.
Aide-mémoire
REPLACE(s, find, with) remplace chaque occurrence d'une sous-chaîne :
REPLACE('555-123-4567', '-', '') -- '5551234567'TRIM(s) supprime les espaces blancs aux deux extrémités ; passez un second argument pour supprimer d'autres caractères. Utilisez LTRIM / RTRIM pour les suppressions d'un seul côté :
TRIM(' hi ') -- 'hi'
TRIM('---hi---', '-') -- 'hi'Les fonctions peuvent être imbriquées pour appliquer plusieurs nettoyages à la fois :
SELECT REPLACE(TRIM(phone), '-', '') AS clean FROM contacts;Essayez vous-même
SELECT id,
-- supprimer les espaces et les tirets
FROM contacts
ORDER BY id
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Au-delà des bases
1Logique conditionnelle
CASE WHENCASE dans ORDER BYCOALESCE pour les NULLsNULLIF et IIFRécapitulatif - Présences2Fonctions de chaînes
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE et TRIMConcaténation avec ||Récapitulatif - Factures