IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Remplacer une partie d'un champ ?


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 29
    Points
    29
    Par défaut Remplacer une partie d'un champ ?
    Bonjour,

    J'aurais besoin de votre aide !
    Dans ma table j'ai un champ avec tous les emails de mes membres, malheureusement certaines (même beaucoup) de personnes se sont inscrites avec comme email "blablabla@hotmial.fr" par exemple et donc les emails ne passent pas.

    Est-ce qu'il y a une commande SQL qui me permettrait de remplacer d'un coup tous les "hotmial" par "hotmail" ? C'est à dire, udpdater juste une partie d'un champ.

    Merci d'avance ! En espérant avoir été clair... !

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ta_table SET ton_champ_mail = SUBSTR(ton_champ_mail,'hotmial','hotmail');
    Par contre si les e-mails sont réellement invalides (même avec 'hotmail'), ça ne va pas beaucoup te servir

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    J'ai le même problème que toi, mais sous access, il me dit que SUBSTR non définie dans l'expression...

    Ma requête:
    Update RFC_Objectifs set ID = SUBSTR (ID, "077919AES*", "077919AE2*");

    Celle là non plus ne marche pas...
    Update RFC_Objectifs set ID = SUBSTR (ID, '077919AES', '077919AE2');

    J'ai essayer d'utiliser REPLACE aussi mais ça me modifie toutes les lignes mêmes celles qui commencent pas par 077919...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par scheu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ta_table SET ton_champ_mail = SUBSTR(ton_champ_mail,'hotmial','hotmail');
    Par contre si les e-mails sont réellement invalides (même avec 'hotmail'), ça ne va pas beaucoup te servir
    Merci ! Je vais essayer.

    Oui mais j'en aurai beaucoup moins d'invalides déjà.

  5. #5
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Citation Envoyé par perdeak Voir le message
    J'ai le même problème que toi, mais sous access, il me dit que SUBSTR non définie dans l'expression...

    Ma requête:
    Update RFC_Objectifs set ID = SUBSTR (ID, "077919AES*", "077919AE2*");

    Celle là non plus ne marche pas...
    Update RFC_Objectifs set ID = SUBSTR (ID, '077919AES', '077919AE2');

    J'ai essayer d'utiliser REPLACE aussi mais ça me modifie toutes les lignes mêmes celles qui commencent pas par 077919...
    Remplace * par %

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Même résultat avec %, il me traite tout le fichier, pas seulement les lignes commençant par 077919..

  7. #7
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Autant pour moi je n'avais pas compris ce que tu voulais faire
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE RFC_Objectifs SET id = '077919AE2' WHERE id LIKE '077919AES%';

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par scheu Voir le message
    Autant pour moi je n'avais pas compris ce que tu voulais faire
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE RFC_Objectifs SET id = '077919AE2' WHERE id LIKE '077919AES%';
    En fait j'aimerai garder ce qui se trouve après le AES dans mon "renommage", alors que là ça va m'effacer la fin...

  9. #9
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    On va y arriver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE RFC_Objectifs SET id = SUBSTR(id,10,LENGTH(id)-9) WHERE id LIKE '077919AES%'
    En gros quand ton champ id commence par '077919AES', ça ne garde que ce qu'il y a après '077919AES', c'est bien ça que tu voulais ?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Alors en fait j'ai ces 2 lignes par exemple:
    077919AES001
    077919AES002

    Je voudrais ça après traitement:
    077919AE2001
    077919AE2002

  11. #11
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    As-tu une seule et unique règle de remplacement pour toutes tes lignes genre 'toujours remplacer le caractère juste après '077919AE' par '2' " ?
    Si c'est le cas tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE RFC_Objectifs 
    SET id = '077919AE2' || SUBSTR(id,10,LENGTH(id)-9) 
    WHERE id LIKE '077919AE%'
    si c'est jute pour tes id commençant par '077919AE' que tu veux remplacer, ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE RFC_Objectifs 
    SET id = SUBSTR(id,1,8) || '2' || SUBSTR(id,10,LENGTH(id)-9)
    si c'est toujours le 9ème caractère que tu remplaces par 2 quelque soit la valeur de id

Discussions similaires

  1. Recherche d'une partie d'un champ texte
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 13/01/2006, 18h04
  2. Select sur une partie d'un champs texte
    Par dl_jarod dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/11/2005, 15h25
  3. tri sur une partie d'un champ
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 19/09/2005, 11h25
  4. Remplacer une PARTIE de chaine de caractères dans un champ
    Par Turlututuchapopointu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/08/2005, 11h57
  5. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo